net-related oops in 2.0.14

Oliver Jowett (oliver@sa-search.massey.ac.nz)
Sun, 8 Sep 1996 01:53:26 +1200 (NZST)


Just got this oops shortly after my modem had hung up and diald had
reconnected my PPP link. I was opening a large mailbox in pine (gotta love
all that linux-kernel traffic :) and ran a netstat -nto on another
console. I also had a telnet open which was probably about to do a tcp
retransmit because of my link going down...

This may or may not be relevant, but I just put in a secondary IDE
controller for a new ATAPI cdrom drive; its sharing IRQ 14 with ide0 and
seems to function fine.

Kernel 2.0.14, using kerneld and everything but the basics compiled as
modules (including ppp). The machine seemed to continue to run for 5 mins
or so without further ill effects, then I rebooted it.

Sep 7 16:39:19 chimera pppd[4341]: pppd 2.2.0 started by dialout, uid 0
Sep 7 16:39:19 chimera pppd[4341]: Using interface ppp0
Sep 7 16:39:19 chimera pppd[4341]: Connect: ppp0 <--> /dev/ttyS0
Sep 7 16:39:23 chimera pppd[4341]: local IP address 130.123.34.31
Sep 7 16:39:23 chimera pppd[4341]: remote IP address 130.123.34.22
Sep 7 16:40:21 chimera kernel: Unable to handle kernel NULL pointer
dereference at virtual address c000003c
Sep 7 16:40:22 chimera kernel: current->tss.cr3 = 00101000, `r3 = 00101000
Sep 7 16:40:22 chimera kernel: *pde = 00102067
Sep 7 16:40:22 chimera kernel: *pte = 00000027
Sep 7 16:40:22 chimera kernel: Oops: 0000
Sep 7 16:40:22 chimera kernel: CPU: 0
Sep 7 16:40:22 chimera kernel: EIP: 0010:[<010355f3>]
Sep 7 16:40:22 chimera kernel: EFLAGS: 00010246
Sep 7 16:40:22 chimera kernel: eax: 004e3ee0 ebx: 003dced8 ecx: 00013288
edx: 010355e4
Sep 7 16:40:22 chimera kernel: esi: 00000000 edi: 004e3ee0 ebp: 003dced8
esp: 0018a834
Sep 7 16:40:22 chimera kernel: ds: 0018 es: 0018 fs: 002b gs:
0018 ss:
0018
Sep 7 16:40:22 chimera kernel: Process swapper (pid: 0, process nr: 0,
stackpage=00188a68)
Sep 7 16:40:22 chimera kernel: Stack: 00000000 004e3ee0 003dcf64
003dced8 0013b6a4 004e3ee0 003dced8 004e3ee0
Sep 7 16:40:22 chimera kernel: 004e3830 006bd410 003dced8
00000000 00000202 0013b6fa 004e3ee0 003dced8
Sep 7 16:40:22 chimera kernel: 00000000 00144ad3 004e3ee0
003dced8 00000000 004e3ee0 006bd410 004e3844
Sep 7 16:40:22 chimera kernel: Call Trace: [<0013b6a4>] [<0013b6fa>]
[<00144ad3>] [<0014a8a5>] [<0014900c>] [<0014a1a7>] [<0014231f>]
Sep 7 16:40:22 chimera kernel: [<0013b8dc>] [<001170bb>]
[<0010a5db>] [<001096bc>] [<0010a652>] [<001093d0>] [<00109243>]
Sep 7 16:40:22 chimera kernel: Code: 8b 6e 3c 85 ff 75 1a f6 46 0a 01 74
0d 68
4c 6b 03 01 e8 16
Sep 7 16:40:22 chimera kernel: Aiee, killing interrupt handler
Sep 7 16:40:22 chimera kernel: kfree of non-kmalloced memory: 0018aab0,
next= 00000000, order=0
Sep 7 16:40:22 chimera kernel: kfree of non-kmalloced memory: 0018aaa0,
next= 00000000, order=0
Sep 7 16:40:22 chimera kernel: kfree of non-kmalloced memory: 0018afb4,
next= 00000000, order=0
Sep 7 16:40:22 chimera kernel: idle task may not sleep
Sep 7 16:40:22 chimera last message repeated 4 times
Sep 7 04:40:23 chimera kerneld: error: Identifier removed

Running that through ksymoops:

Using `/boot/System.map' to map addresses to symbols.

Trace: 13b6a4 <do_dev_queue_xmit+184/1c0>
Trace: 13b6fa <dev_queue_xmit+1a/30>
Trace: 144ad3 <ip_queue_xmit+193/1f0>
Trace: 14a8a5 <tcp_write_xmit+1a5/200>
Trace: 14900c <tcp_ack+57c/8f0>
Trace: 14a1a7 <tcp_rcv+717/860>
Trace: 14231f <ip_rcv+3cf/500>
Trace: 13b8dc <net_bh+ec/120>
Trace: 1170bb <do_bottom_half+3b/70>
Trace: 10a5db <handle_bottom_half+b/20>
Trace: 1096bc <sys_idle+6c/80>
Trace: 10a652 <system_call+52/80>
Trace: 1093d0 <init>
Trace: 109243 <start_kernel+163/170>

Code: movl 0x3c(%esi),%ebp
Code: testl %edi,%edi
Code: jne 00000021 <_EIP+21>
Code: testb $0x1,0xa(%esi)
Code: je 0000001a <_EIP+1a>
Code: pushl $0x1036b4c
Code: call 9090002d <gcc2_compiled.+9090002d>

Yell if you need any more info on this.

Oliver

--
     "C makes it easy to shoot yourself in the foot.  C++ makes it
      harder, but when you do, it blows away your whole leg."

-- Bjarne Stroustrup on C++