Whole string of OOPSes with 1.3.68.

Jason Burrell (jburrell@crl.com)
Mon, 26 Feb 1996 06:38:28 -0600 (CST)


First of all, I'm writing this through a direct connection to an SMTP port, so please excuse any poor formatting.

I have 10 virtual consoles set up. Last night I had 'more' running in VC 2, Tiny Fugue in VC1, GPM running, jed running on V5, IRC running on VC4, and two logins of the root account just sitting there on VCs 9 and 10. I went to cut and paste some data from VC2 into the Tiny Fugue window to send it to the remote system. I've a 132x60 display, so I was doing 60 lines at a time. I paste, and BOOM, I get a bunch of kernel OOPSes and the Tiny Fugue dies. After that, it appears the process table was corrupted, because while I could tell the system to start new processes, the virtual console I did it in would simply hang, and the process would never execute, though it would wind up in the output of ps. And, for some reason, ps still worked.

My libraries are libc 5.2.18 ELF, and libc 4.7.5 a.out. Kernel version is, as previously stated, 1.3.68. GCC is 2.7.2.

Feb 23 16:55:09 crl kernel: Linux version 1.3.68 (root@crl) (gcc version 2.7.2) #6 Fri Feb 23 12:34:47 CST 1996

On to the OOPSes:

Feb 25 01:19:00 crl kernel: general protection: 0000
Feb 25 01:19:00 crl kernel: CPU: 0
Feb 25 01:19:00 crl kernel: EIP: 0010:[<00110472>]
Feb 25 01:19:00 crl kernel: EFLAGS: 00010212
Feb 25 01:19:00 crl kernel: eax: 00202394 ebx: 003c8f6c ecx: 00000000 edx: 72612068
Feb 25 01:19:00 crl kernel: esi: bffffbac edi: 00202394 ebp: 006f0f2c esp: 006f0f20
Feb 25 01:19:00 crl kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Feb 25 01:19:00 crl kernel: Process tf (pid: 784, process nr: 18, stackpage=006f0000)
Feb 25 01:19:00 crl kernel: Stack: 00000040 bffffbac bffffbac 007d0000 0017f443 00202394 0017b3a5 007d0000
Feb 25 01:19:00 crl kernel: 007d0000 0008fd80 0060f960 00000040 00000000 00000000 00000000 00000000
Feb 25 01:19:00 crl kernel: 00000001 bffffbac 0050cc0c 006f0f68 00177b01 007d0000 0008fd80 bffffb6c
Feb 25 01:19:00 crl kernel: Call Trace: [<0017f443>] [<0017b3a5>] [<00177b01>] [<00121b1c>] [<0010a4f9>]
Feb 25 01:19:00 crl kernel: Code: 8b 02 83 f8 01 75 61 9c 5e fa c7 02 00 00 00 00 83 7a 4c 00
Feb 25 01:19:44 crl kernel: Oops: 0000
Feb 25 01:19:44 crl kernel: CPU: 0
Feb 25 01:19:44 crl kernel: EIP: 0010:[<0012d5cb>]
Feb 25 01:19:44 crl kernel: EFLAGS: 00010087
Feb 25 01:19:44 crl kernel: eax: 0008600c ebx: 00000217 ecx: 00086000 edx: 00000000
Feb 25 01:19:44 crl kernel: esi: 00578e98 edi: 00578e98 ebp: 00000004 esp: 00578e64
Feb 25 01:19:44 crl kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Feb 25 01:19:44 crl kernel: Process tf (pid: 16999, process nr: 18, stackpage=00578000)
Feb 25 01:19:44 crl kernel: Stack: 00000003 00000001 0012d91e 00578e98 00000000 00000004 00578f54 0801feb0
Feb 25 01:19:44 crl kernel: 00000000 00000004 00000001 00578e98 00086000 00000000 00086000 0012db97
Feb 25 01:19:44 crl kernel: 00000004 00578f54 00578f14 00578ed4 00578f74 00578f34 00578ef4 0801feb0
Feb 25 01:19:44 crl kernel: Call Trace: [<0012d91e>] [<0012db97>] [<0010f43f>] [<0010a4f9>]
Feb 25 01:19:44 crl kernel: Code: 39 4a 04 75 f8 8b 41 04 89 42 04 c7 41 04 00 00 00 00 53 9d
Feb 25 01:19:45 crl kernel: wait_queue is bad (eip = 0017a95a)
Feb 25 01:19:45 crl kernel: q = 007d0934
Feb 25 01:19:45 crl kernel: *q = 006f0f68
Feb 25 01:19:45 crl kernel: tmp = 0081af68
Feb 25 01:19:45 crl kernel: general protection: 0000
Feb 25 01:19:45 crl kernel: CPU: 0
Feb 25 01:19:45 crl kernel: EIP: 0010:[<0017b42f>]
Feb 25 01:19:45 crl kernel: EFLAGS: 00010096
Feb 25 01:19:45 crl kernel: eax: 00000001 ebx: 00000001 ecx: 0081af68 edx: f000bc34
Feb 25 01:19:45 crl kernel: esi: bffff500 edi: 00000246 ebp: 007d0000 esp: 0081af40
Feb 25 01:19:45 crl kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Feb 25 01:19:45 crl kernel: Process bash (pid: 615, process nr: 4, stackpage=0081a000)
Feb 25 01:19:45 crl kernel: Stack: 007d0000 0008fd80 0060f960 00000001 00000246 00000000 00000000 00000000
Feb 25 01:19:45 crl kernel: 00000001 bffff500 0000bc0c 00000000 00177b01 007d0000 0008fd80 bffff4ff
Feb 25 01:19:45 crl kernel: 00000000 0008fd80 00000001 0060f960 bffff4ff 00121b1c 0060f960 0008fd80
Feb 25 01:19:45 crl kernel: Call Trace: [<00177b01>] [<00121b1c>] [<0010a4f9>]
Feb 25 01:19:45 crl kernel: Code: 39 4a 04 75 f8 8b 44 24 2c 89 42 04 c7 44 24 2c 00 00 00 00
Feb 25 01:19:45 crl kernel: wait_queue is bad (eip = 001774f4)
Feb 25 01:19:45 crl kernel: q = 007d0934
Feb 25 01:19:45 crl kernel: *q = 006f0f68
Feb 25 01:19:45 crl kernel: tmp = 0081af68
Feb 25 01:19:47 crl kernel: wait_queue is bad (eip = 0017a95a)
Feb 25 01:19:47 crl kernel: q = 007d0934
Feb 25 01:19:47 crl kernel: *q = 006f0f68
Feb 25 01:19:47 crl kernel: tmp = 0081af68
Feb 25 01:19:48 crl kernel: wait_queue is bad (eip = 0017a95a)
Feb 25 01:19:48 crl kernel: q = 007d0934
Feb 25 01:19:48 crl kernel: *q = 006f0f68
Feb 25 01:19:48 crl kernel: tmp = 0081af68
Feb 25 01:19:49 crl kernel: wait_queue is bad (eip = 0017a95a)
Feb 25 01:19:49 crl kernel: q = 007d0934
Feb 25 01:19:49 crl kenel: *q = 006f0f68
Feb 25 01:19:49 crl kernel: tmp = 0081af68
Feb 25 01:19:49 crl kernel: general protection: 0000
Feb 25 01:19:49 crl kernel: CPU: 0
Feb 25 01:19:49 crl kernel: EIP: 0010:[<0017b42f>]
Feb 25 01:19:49 crl kernel: EFLAGS: 00010096
Feb 25 01:19:49 crl kernel: eax: 00000001 ebx: 00000001 ecx: 003c8f68 edx: f000bc34
Feb 25 01:19:49 crl kernel: esi: bffffe4c edi: 00000246 ebp: 007d0000 esp: 003c8f40
Feb 25 01:19:49 crl kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Feb 25 01:19:49 crl kernel: Process agetty (pid: 17001, process nr: 4, stackpage=003c8000)

And I'll include the relevent portion of System.map so that this actually does some good:

00110330 T sys_pause
00110350 T wake_up
00110450 T wake_up_interruptible
00110540 T __down
00110610 T interruptible_sleep_on
001106e0 T sleep_on
001107b0 T add_timer
001107f0 T del_timer
..
0012d3f0 t filldir
0012d4a0 T sys_getdents
0012d580 t free_wait
0012d5f0 t check
0012d680 t do_select
0012d970 t __get_fd_set
0012d9d0 t __set_fd_set
0012da10 T sys_select
..
00174070 t try_to_flush_leftover_data
001740d0 T ide_error
00174220 t read_intr
00174310 t write_intr
..

There were also a couple 'Aiee, killing interrupt handler' messages thrown in there, but I don't think the logging daemon ever got them.

Also, if I screwed up on posting the sections of the System.map file, let me know. I'll include addresses in the Call Trace: line for good measure as well.

0017f280 T console_print
0017f420 t con_throttle
0017f430 t con_unthrottle
0017f450 t vc_init
0017f550 t con_setsize
0017f580 t console_bh
0017f5c0 T con_init
..
0017ada0 t read_chan
0017b4d0 t write_chan
0017b6c0 t normal_select
0017b8d0 T vc_cons_allocated
0017b8f0 T vc_allocate
..
001779c0 T start_tty
00177a50 t tty_read
00177b30 t tty_write
00177c30 t init_dev
001781d0 t release_dev
..
00121a90 T sys_read
00121b40 T sys_write
00121c50 t sock_readv_writev
00121d30 t do_readv_writev
..
0010a420 T lcall7
0010a470 t handle_bottom_half
0010a490 t reschedule
0010a4a0 T system_call
0010a540 T ret_from_sys_call
..
0012d680 t do_select
0012d970 t __get_fd_set
0012d9d0 t __set_fd_set
0012da10 T sys_select
..

Hope this helps.