[OpenAFS-devel] kernel BUG at /scratch/openafs/src/libafs/MODLOAD-2.6.13-MP/rx_kcommon.c:131!

Martin MOKREJŠ mmokrejs@ribosome.natur.cuni.cz
Sun, 04 Sep 2005 15:34:12 +0200


Here are the crash details with some printk patch from Chas.
I've rebuilt from cvs sources synced few minutes ago and am using
the patch from try to get better cache statistics.

Starting AFS cache scan...found 0 non-empty cache files (0%).
afs_dentry_iput("phylo.natur.cuni.cz", e7d1e260)
afs_dentry_iput(".phylo.natur.cuni.cz", e7d1e260)
afs_dentry_iput("phylo.natur.cuni.cz", e7d1e260)
AFS isn't unmounted yet! Call aborted
AFS isn't unmounted yet! Call aborted
afs_dentry_iput("afsws", e764d02c)
afs_dentry_iput("home", e764d260)
afs_dentry_iput("usr", e7d1e8fc)
afs_dentry_iput("i386_linux26", e764dd64)
afs_dentry_iput(".phylo.natur.cuni.cz", e7d1e260)
afs_dentry_iput("/", e7d1ed64)
inode freed while on LRU------------[ cut here ]------------
kernel BUG at /scratch/openafs/src/libafs/MODLOAD-2.6.13-MP/rx_kcommon.c:131!
invalid operand: 0000 [#1]
CPU:    0
EIP:    0060:[<fa026f02>]    Tainted: P      VLI
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010296   (2.6.13) 
eax: 0000001b   ebx: e7d1ed64   ecx: 00000001   edx: 00000282
esi: e7d1eea4   edi: e82340e8   ebp: f60a1e88   esp: f60a1e74
ds: 007b   es: 007b   ss: 0068
Stack: fa04be14 fa03402b 00000000 e7d1ed64 e7d1ed64 f60a1e94 fa03404f e7d1ed64 
       f60a1ea8 c0173efe e7d1e260 e7d1ed64 f6e0402c f60a1eb8 c0174dd4 e7d1ed64 
       e7d1ed64 f60a1ec0 c0174e06 f60a1ecc c0174e5e f60a0000 f60a1eec fa035ec6 
Call Trace:
 [<c01039d1>] show_stack+0x7a/0x90
 [<c0103b52>] show_registers+0x152/0x1ca
 [<c0103d60>] die+0xf4/0x183
 [<c0103e70>] do_trap+0x81/0xb8
 [<c010414a>] do_invalid_op+0xa3/0xad
 [<c010363b>] error_code+0x4f/0x54
 [<fa03404f>] afs_clear_inode+0x24/0x3e [libafs]
 [<c0173efe>] clear_inode+0xc7/0xc9
 [<c0174dd4>] generic_forget_inode+0x113/0x12f
 [<c0174e06>] generic_drop_inode+0x16/0x18
 [<c0174e5e>] iput+0x56/0x69
 [<fa035ec6>] afs_dentry_iput+0xa3/0xca [libafs]
 [<c01720b9>] dput+0x157/0x1dd
 [<c01624a3>] generic_shutdown_super+0x39/0x140
 [<c0162d8d>] kill_anon_super+0xc/0x35
 [<c01623ab>] deactivate_super+0x58/0x71
 [<c017639d>] __mntput+0x28/0x33
 [<c0168da2>] path_release_on_umount+0x29/0x2c
 [<c0176901>] sys_umount+0x37/0x76
 [<c0176959>] sys_oldumount+0x19/0x1b
 [<c0102acb>] sysenter_past_esp+0x54/0x75
Code: ff 5d c3 55 89 e5 53 bb 44 b3 04 fa 83 ec 10 85 c0 0f 44 c3 8b 5d 08 89 4c 24 08 89 5c 24 0c 89 54 24 04 89 04 24 e8 02 96 0f c6 <0f> 0b 83 00 c8 86 04 fa 83 c4 10 5b 5d c3 55 83 fa 01 89 e5 57 


>>EIP; fa026f02 <pg0+39a0bf02/3f9e3400>   <=====

>>ebx; e7d1ed64 <pg0+27703d64/3f9e3400>
>>esi; e7d1eea4 <pg0+27703ea4/3f9e3400>
>>edi; e82340e8 <pg0+27c190e8/3f9e3400>
>>ebp; f60a1e88 <pg0+35a86e88/3f9e3400>
>>esp; f60a1e74 <pg0+35a86e74/3f9e3400>

Trace; c01039d1 <show_stack+7a/90>
Trace; c0103b52 <show_registers+152/1ca>
Trace; c0103d60 <die+f4/183>
Trace; c0103e70 <do_trap+81/b8>
Trace; c010414a <do_invalid_op+a3/ad>
Trace; c010363b <error_code+4f/54>
Trace; fa03404f <pg0+39a1904f/3f9e3400>
Trace; c0173efe <clear_inode+c7/c9>
Trace; c0174dd4 <generic_forget_inode+113/12f>
Trace; c0174e06 <generic_drop_inode+16/18>
Trace; c0174e5e <iput+56/69>
Trace; fa035ec6 <pg0+39a1aec6/3f9e3400>
Trace; c01720b9 <dput+157/1dd>
Trace; c01624a3 <generic_shutdown_super+39/140>
Trace; c0162d8d <kill_anon_super+c/35>
Trace; c01623ab <deactivate_super+58/71>
Trace; c017639d <__mntput+28/33>
Trace; c0168da2 <path_release_on_umount+29/2c>
Trace; c0176901 <sys_umount+37/76>
Trace; c0176959 <sys_oldumount+19/1b>
Trace; c0102acb <sysenter_past_esp+54/75>

This architecture has variable length instructions, decoding before eip
is unreliable, take these instructions with a pinch of salt.

Code;  fa026ed7 <pg0+39a0bed7/3f9e3400>
00000000 <_EIP>:
Code;  fa026ed7 <pg0+39a0bed7/3f9e3400>
   0:   ff 5d c3                  lcall  *0xffffffc3(%ebp)
Code;  fa026eda <pg0+39a0beda/3f9e3400>
   3:   55                        push   %ebp
Code;  fa026edb <pg0+39a0bedb/3f9e3400>
   4:   89 e5                     mov    %esp,%ebp
Code;  fa026edd <pg0+39a0bedd/3f9e3400>
   6:   53                        push   %ebx
Code;  fa026ede <pg0+39a0bede/3f9e3400>
   7:   bb 44 b3 04 fa            mov    $0xfa04b344,%ebx
Code;  fa026ee3 <pg0+39a0bee3/3f9e3400>
   c:   83 ec 10                  sub    $0x10,%esp
Code;  fa026ee6 <pg0+39a0bee6/3f9e3400>
   f:   85 c0                     test   %eax,%eax
Code;  fa026ee8 <pg0+39a0bee8/3f9e3400>
  11:   0f 44 c3                  cmove  %ebx,%eax
Code;  fa026eeb <pg0+39a0beeb/3f9e3400>
  14:   8b 5d 08                  mov    0x8(%ebp),%ebx
Code;  fa026eee <pg0+39a0beee/3f9e3400>
  17:   89 4c 24 08               mov    %ecx,0x8(%esp)
Code;  fa026ef2 <pg0+39a0bef2/3f9e3400>
  1b:   89 5c 24 0c               mov    %ebx,0xc(%esp)
Code;  fa026ef6 <pg0+39a0bef6/3f9e3400>
  1f:   89 54 24 04               mov    %edx,0x4(%esp)
Code;  fa026efa <pg0+39a0befa/3f9e3400>
  23:   89 04 24                  mov    %eax,(%esp)
Code;  fa026efd <pg0+39a0befd/3f9e3400>
  26:   e8 02 96 0f c6            call   c60f962d <_EIP+0xc60f962d>

This decode from eip onwards should be reliable

Code;  fa026f02 <pg0+39a0bf02/3f9e3400>
00000000 <_EIP>:
Code;  fa026f02 <pg0+39a0bf02/3f9e3400>   <=====
   0:   0f 0b                     ud2a      <=====
Code;  fa026f04 <pg0+39a0bf04/3f9e3400>
   2:   83 00 c8                  addl   $0xffffffc8,(%eax)
Code;  fa026f07 <pg0+39a0bf07/3f9e3400>
   5:   86 04 fa                  xchg   %al,(%edx,%edi,8)
Code;  fa026f0a <pg0+39a0bf0a/3f9e3400>
   8:   83 c4 10                  add    $0x10,%esp
Code;  fa026f0d <pg0+39a0bf0d/3f9e3400>
   b:   5b                        pop    %ebx
Code;  fa026f0e <pg0+39a0bf0e/3f9e3400>
   c:   5d                        pop    %ebp
Code;  fa026f0f <pg0+39a0bf0f/3f9e3400>
   d:   c3                        ret    
Code;  fa026f10 <pg0+39a0bf10/3f9e3400>
   e:   55                        push   %ebp
Code;  fa026f11 <pg0+39a0bf11/3f9e3400>
   f:   83 fa 01                  cmp    $0x1,%edx
Code;  fa026f14 <pg0+39a0bf14/3f9e3400>
  12:   89 e5                     mov    %esp,%ebp
Code;  fa026f16 <pg0+39a0bf16/3f9e3400>
  14:   57                        push   %edi