Kernel Ooops

Kevin Littlejohn (darius@darius.wantree.com.au)
Mon, 23 Dec 1996 17:09:43 +0800


Ok, 2.0.27 kernel, with mildly expanded limits, the following kernel Ooops:

Dec 23 14:02:13 proxy kernel: Unable to handle kernel NULL pointer
dereference at virtual address c0000001
Dec 23 14:02:13 proxy kernel: current->tss.cr3 = 037d6000, <r3 = 037d6000
Dec 23 14:02:13 proxy kernel: *pde = 00102067
Dec 23 14:02:13 proxy kernel: *pte = 00000027
Dec 23 14:02:13 proxy kernel: Oops: 0000
Dec 23 14:02:13 proxy kernel: CPU: 0
Dec 23 14:02:13 proxy kernel: EIP: 0010:[<00000001>]
Dec 23 14:02:13 proxy kernel: EFLAGS: 00010212
Dec 23 14:02:13 proxy kernel: eax: 00000000 ebx: 039e8818 ecx:
06ad9c0c edx: c0000000
Dec 23 14:02:13 proxy kernel: esi: 00000000 edi: 00000014 ebp:
00000014 esp: 05484f98
Dec 23 14:02:13 proxy kernel: ds: 0018 es: 0018 fs: 002b gs: 002b
ss: 0018
Dec 23 14:02:13 proxy kernel: Process ftpget (pid: 9558, process nr: 51,
stackpage=05484000)
Dec 23 14:02:13 proxy kernel: Stack: bffffbb4 0010f629 00000000 bffffbfc
00000014 06ad9c0c 00000000 bffffc70
Dec 23 14:02:13 proxy kernel: 0010a615 bffffbfc bffffbfc 00000006
00000000 bffffc70 bffffc24 ffffffda
Dec 23 14:02:13 proxy kernel: 0000002b ffff002b 0010002b 0000002b
00000052 40020287 00100023 00000202
Dec 23 14:02:13 proxy kernel: Call Trace: [<0010f629>] [<0010a615>]
Dec 23 14:02:13 proxy kernel: Code: 00 00 00 65 04 70 00 16 00 3a 07 65 04
70 00 65 04 70 00 54

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

Trace: 10f629 <old_select+11/50>
Trace: 10a615 <system_call+55/80>

Code: addb %al,(%eax)
Code: addb %ah,0x4(%ebp)
Code: jo 00000007 <_EIP+7>
Code: pushl %ss
Code: addb %bh,(%edx)
Code: popl %es
Code: addb $0x70,%al
Code: addb %ah,0x4(%ebp)
Code: jo 00000013 <_EIP+13>
Code: pushl %esp

This machine is running squid and only squid. This particular crash looks
seriously wrong to me.... any ideas? Follows are the resource limit
'tweaks' I've made:

include/linux/net_alias.h - line 28, NET_ALIAS_MAX_SLOT = 512, not 256
include/linux/fs.h - line 30, NR_OPEN = 1024
include/linux/fs.h - line 39, NR_INODE = 8192
include/linux/fs.h - line 40, NR_FILE = 4096
include/linux/limits.h - line 4, NR_OPEN = 1024
include/linux/limits.h - line 9, OPEN_MAX = 512

Config file as follows (Cyrix 686-120, 128Mb RAM, no_atime_update patch in
but not used), minus non-set options:

#
# Automatically generated by make menuconfig: don't edit
#

CONFIG_EXPERIMENTAL=y

CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y

CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
CONFIG_M586=y

CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_STRIPED=m
CONFIG_BLK_DEV_RAM=m

CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_ACCT=y
CONFIG_IP_ALIAS=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_IPX=m
CONFIG_IPX_INTERN=y

CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_CONSTANTS=y

CONFIG_SCSI_AIC7XXX=y
CONFIG_SCSI_BUSLOGIC=y

CONFIG_NETDEVICES=y
CONFIG_PPP=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y

CONFIG_QUOTA=y
CONFIG_MINIX_FS=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_SMB_FS=y
CONFIG_ISO9660_FS=m

CONFIG_SERIAL=y
CONFIG_PRINTER=m

CONFIG_SOUND=m
CONFIG_SB=y
CONFIG_ADLIB=y

CONFIG_AUDIO=y
CONFIG_MIDI=y
CONFIG_YM3812=y
SBC_BASE=220
SBC_IRQ=7
SBC_DMA=1
SB_DMA2=5
SB_MPU_BASE=0
SB_MPU_IRQ=-1
DSP_BUFFSIZE=65536

---
Kevin Littlejohn                                     darius@wantree.com.au
Wantree Development                                       tel:    481 4433
Perth, Western Australia 6000                             fax:    481 0393
"Hours of frustration punctuated by moments of sheer terror" - a.s.r.