Oops on x86_64 running 32-bit code

Oops on x86_64 running 32-bit code

Post by Bryan O'Sulliva » Fri, 20 Jun 2003 00:50:11



Tried running BitKeeper under vanilla 2.5.72:

PML4 7ac6c067 PGD 7a872067 PMD 0
Oops: 0010 [1
CPU 1
Pid: 3236, comm: bk Not tainted
RIP: 0010:[<0000000000000000> [<0000000000000000>
RSP: 0018:0000010037f88368  EFLAGS: 00010216
RAX: 0000000000004000 RBX: 000001007d4f2500 RCX: 0000000000000000
RDX: 000001007d4f2500 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 000001007a8e6000 R09: 0000000000000000
R10: 00000000009a0004 R11: 0000000000000000 R12: ffffffff80132f80
R13: 0000010037f881a8 R14: 0000010037f881a8 R15: 000001007e8e99c0
FS:  000000000054c480(0000) GS:ffffffff8041fd80(005b) knlGS:00000000a001b280
CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 0000000000000000 CR3: 000000007ff14000 CR4: 00000000000007a0
Process bk (pid: 3236, stackpage=1007cd31a90)
Stack: 0000000000000000 0000000000000000 0000000000000441 00000000ffffbb00
       0000000000000246 0000000000000000 00000000ffffb698 00000000ffffb600
       0000000000000004 00000000ffffe405
Call Trace:<ffffffff80113b38>?default_do_nmi+56 <ffffffff8011c787>?do_nmi+87
       <ffffffff801126dc>?nmi+112 <ffffffff801320f2>?load_balance+34

Code:  Bad RIP value.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Oops on x86_64 running 32-bit code

Post by Andi Klee » Fri, 20 Jun 2003 00:50:14



> Call Trace:<ffffffff80113b38>??default_do_nmi+56?? <ffffffff8011c787>??do_nmi+87??
>        <ffffffff801126dc>??nmi+112?? <ffffffff801320f2>??load_balance+34??

Looks quite garbled. Is it reproducible?

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Oops on x86_64 running 32-bit code

Post by Bryan O'Sulliva » Fri, 20 Jun 2003 01:00:20



> Looks quite garbled. Is it reproducible?

Not yet.  I'll let you know if I see anything.

On an unrelated note, the trouble with running BK in 32-bit mode seems
to be back:

~ $ bk help
system: No child processes
system: No child processes
less: Bad file descriptor
system: No child processes

This time, there are no syslog errors or other reports to indicate
what's up.  I can't strace it to see where it's dying, because 64-bit
strace won't handle 32-bit code.

        <b

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Oops on x86_64 running 32-bit code

Post by Andi Klee » Fri, 20 Jun 2003 01:10:13



> This time, there are no syslog errors or other reports to indicate
> what's up.  I can't strace it to see where it's dying, because 64-bit
> strace won't handle 32-bit code.

If it's a SuSE system you can use strace32, otherwise just copy
over a 32bit strace binary from some i386 box.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Oops on x86_64 running 32-bit code

Post by Bryan O'Sulliva » Fri, 20 Jun 2003 01:20:14



> If it's a SuSE system you can use strace32, otherwise just copy
> over a 32bit strace binary from some i386 box.

Ugh - strace won't work, either.

I've slightly narrowed the problem down.  I'm using glibc 2.3.2 with TLS
and vsyscall support, but if I copy over an older 32-bit glibc,
everything is happy.

My guess is that 32-bit vsyscalls are still b0rked in some way under
2.5.72.

        <b

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. Compiling 64-bit code on 32-bit machine

Hello,

From the Solaris 7 64-bit Developer's Guide FAQ:

  Can I build a 64-bit application on a system running the 32-bit
  operating system?

    Yes, provided you have the 64-bit library packages installed. However,
    it is not possible to run the 64-bit application on a system running
    the 32-bit operating system.

1.  What are the names of the 64-bit libraries?  How can I ensure
    only those libraries are used during a compile and not any 32-bit
    ones?

2.  What compilers can generate 64-bit code on 32-bit machines?  
    Does GNU CC?

3.  What compiler flags are used to instruct a 64-bit compile?  for
    which compiler?

I realize I wouldn't be able to test the generated 64-bit code on a
32-bit machine.   Perhaps the answers should go in the solaris FAQ.

Thanks,
Sam

2. Solaris 2.x Kernel Size Determination?

3. 64-bit instructions in 32-bit code

4. Cordless Keyboard Software??

5. code to determine 64-bit vs 32-bit binaries?

6. help : 3COM adpater confuguration trouble & ifconfig alias

7. 32-bit code on 64-bit RS/6000

8. ASUS - Linux compatibility ???

9. Calling 16-bit PM code from 32-bit PM Kernel Driver

10. I need to run 16-bit executable on 32-bit OS

11. Determining whether 64-bit or 32-bit kernel is running?

12. How to run a 16-bit executable on a 32-bit OS?