2.1.51 Oops!!!

Erik Andersen (andersee@debian.org)
Sun, 24 Aug 1997 01:31:01 -0600


I just got this this evening. I looks like kswapd caused the kernel to barf.
I suppose this could use some investigating...

Unable to handle kernel NULL pointer dereference at virtual address 00000052
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c012da01>]
EFLAGS: 00010246
eax: c13c4520 ebx: fffffffe ecx: fffffffe edx: c13c4520
esi: 00000000 edi: c13c4500 ebp: 00000001 esp: c000bfa4
ds: 0018 es: 0018 ss: 0018
Process kswapd (pid: 3, process nr: 3, stackpage=c000b000)
Stack: c1d26040 c13c4528 c13c4500 c012dc6c fffffffe 00000006 00000000 00000000
c011f9c9 00000000 c000a000 00000000 00009000 c011fb6b 00000003 00000000
00000001 00000100 c0007fe4 c01082ba 00000000 c011fa98 c0107fdc
Call Trace: [<c012dc6c>] [<c011f9c9>] [<c011fb6b>] [<c01082ba>] [<c011fa98>] [<c0107fdc>]
Code: 8b 43 54 85 c0 74 09 8b 40 10 85 c0 74 02 89 c6 85 f6 74 0d

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

>>EIP: c012da01 <iput+11/b0>
Trace: c012dc6c <shrink_dcache+54/7c>
Trace: c011f9c9 <try_to_free_page+65/c8>
Trace: c011fb6b <kswapd+d3/128>
Trace: c01082ba <init+42/1a8>
Trace: c011fb6b <kswapd+d3/128>
Trace: c0107fdc <this_must_match_init_task+1fdc/2000>

Code: c012da01 <iput+11/b0>
Code: c012da01 <iput+11/b0> 8b 43 54 movl 0x54(%ebx),%eax
Code: c012da04 <iput+14/b0> 85 c0 testl %eax,%eax
Code: c012da06 <iput+16/b0> 74 09 je c012da11 <iput+21/b0>
Code: c012da08 <iput+18/b0> 8b 40 10 movl 0x10(%eax),%eax
Code: c012da11 <iput+21/b0> 85 c0 testl %eax,%eax
Code: c012da13 <iput+23/b0> 74 02 je c012da11 <iput+21/b0>
Code: c012da15 <iput+25/b0> 89 c6 movl %eax,%esi
Code: c012da17 <iput+27/b0> 85 f6 testl %esi,%esi
Code: c012da19 <iput+29/b0> 74 0d je c012da22 <iput+32/b0>
Code: c012da21 <iput+31/b0>

andersee:/usr/src/linux % uname -a
Linux dillweed 2.1.51 #1 Mon Aug 18 23:21:31 MDT 1997 i586 unknown
andersee:/usr/src/linux % grep "=y" .config
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_M586=y
CONFIG_PARPORT=y
CONFIG_PNP=y
CONFIG_PNP_PARPORT=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_INET=y
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_NETDEVICES=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_ISO9660_FS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER_READBACK=y
CONFIG_RTC=y
CONFIG_SOUND=y
CONFIG_SSCAPE=y

I hope this is helpful. I have never delved into the deep magic of
kswapd, and I look fearfully away whenever I hear the words "memory
management". I hope someone else wants to find this particular bug i
and fix it.

-Erik

--
Erik B. Andersen   Web:    http://www.inconnect.com/~andersen/ 
                   email:  andersee@debian.org
--This message was written using 73% post-consumer electrons--