em86 broken with 2.2.12 and above

Michal Jaegermann (michal@ellpspace.math.ualberta.ca)
Mon, 13 Sep 1999 23:02:48 -0600 (MDT)


Somewhere between 2.2.11 and 2.2.12 em86 Intel emulator on Alpha
stopped working. More precisely, the last kernel which I tried where
Intel Netscape still starts and works on Alpha is 2.2.11-ac3.
With 2.2.12 and those 2.2.13pre? I tried Netscape bombs without
opening its window and something of that sort is displayed on
a terminal (numbers are pretty close, even across kernel versions,
but not always the same):

Signal 10 received
Alpha state: PC = 0x600393d0, instr = 0xa36e0008
R00: 000000006016d758 R01: 0000000000000001 R02: 000000006015b738
R03: 0000000060039378 R04: 0000000040557320 R05: 0000000040010000
R06: 0000000040011440 R07: 0000000000000020 R08: 000000006016d738
R09: 00000000407bbe10 R10: 000000006028f490 R11: 000000006016d72c
R12: 000000007cffdc88 R13: 000000007cffdc5c R14: 000000004002319a
R15: 000000007ffff750 R16: 00000000c4c44002 R17: 0000000031a80000
R18: 0000000060039378 R19: 00000000400117d8 R20: 0000000060039640
R21: 0000000000000000 R22: 000000006015b738 R23: 0000000000000000
R24: 000000006003a3d0 R25: 000000006003ae34 R26: 0000000040526010
R27: 000000000000c4c4 R28: 000000006003e0fc R29: 0000000060163b10
R30: 000000007ffff728 R31: 0000000000000000
Trap A0: 00000000400231a2, A1: 0000000000000028, A2: 000000000000001b

Intel state: PC = 0x4002319a
EAX: 0x6016d758, EBX: 0x407bbe10, ECX: 0x20, EDX: 0x6016d738
ESI: 0x6028f490, EDI: 0x6016d72c, EBP: 0x7cffdc88, ESP: 0x7cffdc5c

There is no oops in log files and a bottom a 'strace' output looks
like that:
....
339 SYS_35(0x7, 0x7cffe2ac, 0x20, 0x1, 0x6016ce20) = 93
339 SYS_0(0x8, 0x7cffe194, 0, 0, 0x7cffdcdc) = 48
339 SYS_0(0x1, 0, 0x7ffff5d0, 0, 0x6016441c) = -1 EADDRINUSE (Address already in use)
339 SYS_0(0x1, 0x2000, 0x7ffff5d0, 0, 0x8448bc0) = 93
339 exit(8) = ?
339 --- SIGALRM (Alarm clock) ---
) = ? (mask now [])
339 --- SIGALRM (Alarm clock) ---
339 sigreturn( <unfinished ...>
339 --- SIGALRM (Alarm clock) ---
339 <... sigreturn resumed> ) = ? (mask now ~[KILL STOP])
339 --- SIGALRM (Alarm clock) ---
339 <... sigreturn resumed> ) = ? (mask now ~[KILL STOP])
339 --- SIGALRM (Alarm clock) ---
339 osf_sigprocmask(0x3, 0x7ffffbf7, 0x7ffff2f0 <unfinished ...>
339 --- SIGALRM (Alarm clock) ---
339 <... osf_sigprocmask resumed> ) = -1 EDEADLOCK ((null))
.....
(this "unfinished - resumed" business repeated many times)
.....
339 sigreturn( <unfinished ...>
339 --- SIGALRM (Alarm clock) ---
339 <... sigreturn resumed> ) = ? (mask now ~[KILL STOP])
339 --- SIGBUS (Bus error) ---
339 write(2, "Signal 10 received\n", 19

and we are dead.

Anybody has any ideas what changed to cause that nasty effect
and how to fix it?

Michal
michal@harddata.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/