xfs
[Top] [All Lists]

crash in xfs_inactive

To: "'linux-xfs@xxxxxxxxxxx'" <linux-xfs@xxxxxxxxxxx>
Subject: crash in xfs_inactive
From: "HABBINGA,ERIK (HP-Loveland,ex1)" <erik.habbinga@xxxxxx>
Date: Tue, 25 Mar 2003 08:30:45 -0800
Sender: linux-xfs-bounce@xxxxxxxxxxx
I've gotten the following crash in xfs_inactive a few times after pushing a
server very hard running the SPEC SFS NFS test.  This crash doesn't happen
every time unfortunately.

Unable to handle kernel NULL pointer dereference at virtual address 00000008
801c932e
*pde = 72db8001
Oops: 0000
CPU:    2
EIP:    0010:[<801c932e>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 801c929c   ebx: bc0139a0   ecx: 00000001   edx: 000081b6
esi: f7746000   edi: 00000000   ebp: bc0139b8   esp: f7bd9ee8
ds: 0018   es: 0018   ss: 0018
Process kswapd (pid: 7, stackpage=f7bd9000)
Stack: b335bc40 f7bd9f58 b9f1e328 f7bd9f60 00000000 00000296 c4bc8c80
801da3e9
       bc0139b8 00000000 b335bc40 801d9348 b335bc40 b335bc60 8014ca1e
b335bc60
       b335bc60 8014caa4 b335bc60 d5bf0dc0 d5bf0dc8 8014cdd4 f7bd9f58
00000013
Call Trace: [<801da3e9>]  [<801d9348>]  [<8014ca1e>]  [<8014caa4>]
[<8014cdd4>]
  [<8014ce0f>]  [<8012fce7>]  [<8012fd3c>]  [<8012fe41>]  [<8012fea6>]
[<8012ff
Code: 8b 47 08 f6 00 01 0f 85 80 03 00 00 83 bb 34 01 00 00 00 0f


>>EIP; 801c932e <xfs_inactive+92/428>   <=====

>>eax; 801c929c <xfs_inactive+0/428>
>>ebx; bc0139a0 <END_OF_CODE+3bc11c1c/????>
>>edx; 000081b6 Before first symbol
>>esi; f7746000 <END_OF_CODE+7734427c/????>
>>ebp; bc0139b8 <END_OF_CODE+3bc11c34/????>
>>esp; f7bd9ee8 <END_OF_CODE+777d8164/????>

Trace; 801da3e9 <vn_rele+35/84>
Trace; 801d9348 <linvfs_clear_inode+10/1c>
Trace; 8014ca1e <clear_inode+a2/e0>
Trace; 8014caa4 <dispose_list+48/60>
Trace; 8014cdd4 <prune_icache+190/1b0>
Trace; 8014ce0f <shrink_icache_memory+1b/30>
Trace; 8012fce7 <shrink_caches+8f/a8>
Trace; 8012fd3c <try_to_free_pages_zone+3c/5c>
Trace; 8012fe41 <kswapd_balance_pgdat+41/8c>
Trace; 8012fea6 <kswapd_balance+1a/30>

Code;  801c932e <xfs_inactive+92/428>
00000000 <_EIP>:
Code;  801c932e <xfs_inactive+92/428>   <=====
   0:   8b 47 08                  mov    0x8(%edi),%eax   <=====
Code;  801c9331 <xfs_inactive+95/428>
   3:   f6 00 01                  testb  $0x1,(%eax)
Code;  801c9334 <xfs_inactive+98/428>
   6:   0f 85 80 03 00 00         jne    38c <_EIP+0x38c>
Code;  801c933a <xfs_inactive+9e/428>
   c:   83 bb 34 01 00 00 00      cmpl   $0x0,0x134(%ebx)
Code;  801c9341 <xfs_inactive+a5/428>
  13:   0f 00 00                  sldtl  (%eax)

The code in question is derefencing the vp->v_vfsp pointer and failing
because the vp pointer is NULL for some scary unknown reason:

Dissassembly of xfs_inactive:
/src/kernel/linux/fs/xfs/xfs_vnodeops.c:1666
        error = 0;

        /* If this is a read-only mount, don't do this (would generate I/O)
*/
        if (vp->v_vfsp->vfs_flag & VFS_RDONLY)
801c932e:       8b 47 08                mov    0x8(%edi),%eax
801c9331:       f6 00 01                testb  $0x1,(%eax)
801c9334:       0f 85 80 03 00 00       jne    801c96ba <xfs_inactive+0x41e>

We're running 2.4.20 with XFS CVS from March 17th.  I did see this crash on
earlier CVS downloads, but wanted to see the crash a few more times before
mentioning it.

Erik Habbinga


<Prev in Thread] Current Thread [Next in Thread>