2.1.43 SMP Oops

David Whysong (dwhysong@physics.ucsb.edu)
Thu, 3 Jul 1997 14:06:36 -0700 (PDT)


I got this oops while scrolling through the output of:

[dwhysong@Sleepy src]$ diff -urN gd-1.9 gd-1.9.new/ | less

Here's the oops:

Unable to handle kernel NULL pointer dereference at virtual address 00000020
current->tss.cr3 = 00eee000, %cr3 = 00eee000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0136e64>]
EFLAGS: 00010286
eax: 00000006 ebx: 00000000 ecx: c03dbdc4 edx: 00000639
esi: 00000007 edi: c08efe9c ebp: c03dbce0 esp: c08efddc
ds: 0018 es: 0018 ss: 0018
Process diff (pid: 8575, process nr: 5, stackpage=c08ef000)
Stack: c1b2ce38 00000000 00000000 c08efed8 c08efea8 c172c000 00000007 c03dbdc4
c012f688 c1b2ce38 c08efe9c 00000000 c1b2ce38 c08effbc 00000000 c08efe9c
c1d5300b 00000007 00000001 c012f94f c1b2ce38 c08efe9c 00000000 c08efed8
Call Trace: [<c012f688>] [<c012f94f>] [<c012fd28>] [<c012ff43>]
[<c01294db>] [<c01422e5>] [<c01422f4>]
[<c0142300>] [<c0135f85>] [<c012d41e>] [<c01098d6>]
Code: 0f bf 43 20 39 44 24 18 75 6e f6 43 22 02 75 68 8d 43 24 8b

Here's what ksymoops says:

[root@Sleepy scripts]# ./ksymoops /boot/System.map < junk
Using `/boot/System.map' to map addresses to symbols.

>>EIP: c0136e64 <d_lookup+a4/144>
Trace: c012f688 <cached_lookup+54/214>
Trace: c012f94f <lookup+87/94>
Trace: c012fd28 <__namei+268/430>
Trace: c012ff43 <namei+53/9c>
Trace: c01294db <__brelse+23/44>
Trace: c01422e5 <ext2_update_inode+2d9/2e8>
Trace: c01422f4 <ext2_write_inode>
Trace: c0142300 <ext2_write_inode+c/10>
Trace: c0135f85 <__iput+3a9/510>
Trace: c012d41e <sys_newstat+86/130>
Trace: c01098d6 <system_call+3a/40>

Code: c0136e64 <d_lookup+a4/144>

Here is a dissassembly of the code:

Dump of assembler code for function force_to_data:
0x805cda8 <force_to_data>: xorb %ah,0xffffffbf(%esi)
0x805cdab <force_to_data+3>: incl %ebx
0x805cdac <force_to_data+4>: andb %bh,(%ecx)
0x805cdae <force_to_data+6>: incl %esp
0x805cdaf <force_to_data+7>: andb $0x18,%al
0x805cdb1 <force_to_data+9>: jne 0x805ce21 <force_to_data+121>
0x805cdb3 <force_to_data+11>: testb $0x2,0x22(%ebx)
0x805cdb7 <force_to_data+15>: jne 0x805ce21 <force_to_data+121>
0x805cdb9 <force_to_data+17>: leal 0x24(%ebx),%eax
0x805cdbc <force_to_data+20>: movl (%eax),%eax

System is an SMP Pentium-133, 32 megs RAM. I'm using 2.1.43 with Ted Tso's
patches (for tty's, serial driver, and the random number generator) and
the patch to use some memory in the upper memory area for Triton chipsets.

I hope this is useful to someone. Let me know if you need more
information.

Dave

David Whysong
dwhysong@physics.ucsb.edu
PGP Key fingerprint = 9D 51 6E CE 5F 38 F0 E7 56 3C 01 45 CF 03 9F 4A
Finger for PGP public key.