Oops in 2.1.40, nmbd

Keith Owens (kaos@ocs.com.au)
Tue, 27 May 1997 21:57:58 +1000


Two oops in 2.1.40. SMP (only one processor in M/B at the moment),
P166, PCI, 64Mb with ECC active, NE2000 clone (ISA), AHA1542C, IPv6 as
module. May not be relevant but lsmod always shows IPv6 use count of
-1, even though the tunnels are up and running.

Both oops in nmbd. Looks like neigh->ops is wrong in

if (neigh)
return neigh->ops->resolve(eth->h_dest, skb);

After each oops the machine was totally dead for 50-60 seconds, no
response to magic keys. Then it responded to the magic keys and wrote
to syslog but was still basically dead, no input, VT switch nor network
response. CTRL-ALT-DEL accessed the disk but did not shut down, only
power off worked.

Exception at [<c012f1a3>] (c01c3536) ... getname is c012f0f4
Unable to handle kernel paging request at virtual address 00005e78
current->tss.cr3 = 03407000, ^Xr3 = 03407000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c015f689>]
EFLAGS: 00010286
eax: 00005e70 ebx: c031d602 ecx: c480c324 edx: c0ff8520
esi: c031d720 edi: c3441e34 ebp: c031d720 esp: c3441d1c
ds: 0018 es: 0018 ss: 0018
Process nmbd (pid: 260, process nr: 37, stackpage=c3441000)
Stack: c031d602 c031d720 c480c324 c031d720 c3441e34 c031d610 c480c324 c015d1d5
c031d720 c031d720 c480c324 c0168e61 c031d720 00000000 c0168e34 c016959c
c031d720 00000000 c342f680 c3441ee0 00000000 00000000 c3440000 00000000
Call Trace: [<c480c324>] [<c480c324>] [<c015d1d5>] [<c480c324>] [<c0168e61>] [<c0168e34>] [<c016959c>]
[<c01102de>] [<c0168e34>] [<c480c324>] [<c0129437>] [<c0165647>] [<c0175044>] [<c0174b18>] [<c01796fb>]
[<c0179674>] [<c01579d1>] [<c0179674>] [<c0159186>] [<c0131f82>] [<c013240d>] [<c0132418>] [<c480c324>]
[<c015a15b>] [<c010991a>]
Code: 8b 40 08 ff d0 83 c4 08 5b 5e 5f 5d 83 c4 04 c3 8d 76 00 0f
Using `../System.map' to map addresses to symbols.

>>EIP: c015f689 <eth_rebuild_header+2d/a4>
Trace: c480c324
Trace: c480c324
Trace: c015d1d5 <dev_queue_xmit+29/80>
Trace: c480c324
Trace: c0168e61 <ip_output+2d/60>
Trace: c0168e61 <ip_output+2d/60>
Trace: c016959c <ip_build_xmit+458/a00>
Trace: c01102de <smp_local_timer_interrupt+10a/18c>
Trace: c0168e61 <ip_output+2d/60>
Trace: c480c324
Trace: c0129437 <getblk+2f/36c>
Trace: c0165647 <ip_route_output+6b/ec>
Trace: c0175044 <udp_sendmsg+310/368>
Trace: c0174b18 <udp_getfrag>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c01579d1 <sock_sendmsg+a1/c4>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c0159186 <sys_sendto+192/20c>
Trace: c0131f82 <do_select+1a6/1c0>
Trace: c013240d <sys_select+371/3ac>
Trace: c0132418 <sys_select+37c/3ac>
Trace: c480c324
Trace: c015a15b <sys_socketcall+1cf/2bc>
Trace: c010991a <system_call+3a/40>

Code: c015f689 <eth_rebuild_header+2d/a4> movl 0x8(%eax),%eax
Code: c015f68c <eth_rebuild_header+30/a4> call *%eax
Code: c015f68e <eth_rebuild_header+32/a4> addl $0x8,%esp
Code: c015f691 <eth_rebuild_header+35/a4> popl %ebx
Code: c015f692 <eth_rebuild_header+36/a4> popl %esi
Code: c015f693 <eth_rebuild_header+37/a4> popl %edi
Code: c015f694 <eth_rebuild_header+38/a4> popl %ebp
Code: c015f695 <eth_rebuild_header+39/a4> addl $0x4,%esp
Code: c015f698 <eth_rebuild_header+3c/a4> ret
Code: c015f699 <eth_rebuild_header+3d/a4> leal 0x0(%esi),%esi
Code: c015f69c <eth_rebuild_header+40/a4>

Unable to handle kernel NULL pointer dereference at virtual address 00000008
current->tss.cr3 = 01fb6000, ^Xr3 = 01fb6000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c015f689>]
EFLAGS: 00010286
eax: 00000000 ebx: c031e402 ecx: c480c324 edx: c0ff9520
esi: c031e520 edi: c20f5e34 ebp: c031e520 esp: c20f5d1c
ds: 0018 es: 0018 ss: 0018
Process nmbd (pid: 260, process nr: 37, stackpage=c20f5000)
Stack: c031e402 c031e520 c480c324 c031e520 c20f5e34 c031e410 c480c324 c015d1d5
c031e520 c031e520 c480c324 c0168e61 c031e520 00000000 c0168e34 c016959c
c031e520 00000000 c1ffc680 c20f5ee0 00000000 c011159c 00000000 c20f5dbc
Call Trace: [<c480c324>] [<c480c324>] [<c015d1d5>] [<c480c324>] [<c0168e61>] [<c0168e34>] [<c016959c>]
[<c011159c>] [<c0106000>] [<c0183eca>] [<c0168e34>] [<c480c324>] [<c0129437>] [<c0165647>] [<c0175044>]
[<c0174b18>] [<c01796fb>] [<c0179674>] [<c01579d1>] [<c0179674>] [<c0159186>] [<c0131f82>] [<c013240d>]
[<c0132418>] [<c480c324>] [<c015a15b>] [<c010991a>]
Code: 8b 40 08 ff d0 83 c4 08 5b 5e 5f 5d 83 c4 04 c3 8d 76 00 0f
Using `../System.map' to map addresses to symbols.

>>EIP: c015f689 <eth_rebuild_header+2d/a4>
Trace: c480c324
Trace: c480c324
Trace: c015d1d5 <dev_queue_xmit+29/80>
Trace: c480c324
Trace: c0168e61 <ip_output+2d/60>
Trace: c0168e61 <ip_output+2d/60>
Trace: c016959c <ip_build_xmit+458/a00>
Trace: c011159c <schedule+2f8/324>
Trace: c0106000 <init_task_union>
Trace: c0183eca <unplug_device+3e/48>
Trace: c0168e61 <ip_output+2d/60>
Trace: c480c324
Trace: c0129437 <getblk+2f/36c>
Trace: c0165647 <ip_route_output+6b/ec>
Trace: c0175044 <udp_sendmsg+310/368>
Trace: c0174b18 <udp_getfrag>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c01579d1 <sock_sendmsg+a1/c4>
Trace: c01796fb <inet_sendmsg+87/9c>
Trace: c0159186 <sys_sendto+192/20c>
Trace: c0131f82 <do_select+1a6/1c0>
Trace: c013240d <sys_select+371/3ac>
Trace: c0132418 <sys_select+37c/3ac>
Trace: c480c324
Trace: c015a15b <sys_socketcall+1cf/2bc>
Trace: c010991a <system_call+3a/40>

Code: c015f689 <eth_rebuild_header+2d/a4> movl 0x8(%eax),%eax
Code: c015f68c <eth_rebuild_header+30/a4> call *%eax
Code: c015f68e <eth_rebuild_header+32/a4> addl $0x8,%esp
Code: c015f691 <eth_rebuild_header+35/a4> popl %ebx
Code: c015f692 <eth_rebuild_header+36/a4> popl %esi
Code: c015f693 <eth_rebuild_header+37/a4> popl %edi
Code: c015f694 <eth_rebuild_header+38/a4> popl %ebp
Code: c015f695 <eth_rebuild_header+39/a4> addl $0x4,%esp
Code: c015f698 <eth_rebuild_header+3c/a4> ret
Code: c015f699 <eth_rebuild_header+3d/a4> leal 0x0(%esi),%esi
Code: c015f69c <eth_rebuild_header+40/a4>

CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MATH_EMULATION=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_M586=y
CONFIG_PNP_PARPORT=m
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_BLK_DEV_RAM=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_MASQUERADE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_NET_IPIP=m
CONFIG_IP_MROUTE=y
CONFIG_IP_ALIAS=y
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_IPV6=m
CONFIG_IPX=m
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_AHA1542=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=m
CONFIG_PPP=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_MINIX_FS=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
CONFIG_UMSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_NFSD=m
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_NCP_FS=m
CONFIG_ISO9660_FS=m
CONFIG_AUTOFS_FS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER=m
CONFIG_MOUSE=y
CONFIG_PSMOUSE=m