non-repeatable vfat deadlock 2.1.85

Michael L. Galbraith (mikeg@weiden.de)
Fri, 6 Feb 1998 16:54:58 +0100 (MET)


Hello Developers,

When updatedb ran this morning, it produced this non-repeatable
deadlock. System had been working fine for about 3 hours of solid
compiling prior to updatedb starting. The vfat fs it was in at the
time of oops was busy at umount time, but unharmed.

-Mike

Deadlock threshold exceeded, forcing Oops.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 00ed3000, `r3 = 00ed3000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c013f5fb>]
EFLAGS: 00010202
eax: 00000001 ebx: 00000001 ecx: c02612b0 edx: c4ac0000
esi: c0154c8f edi: 00000246 ebp: c1d0dc28 esp: c1d0dc0c
ds: 0018 es: 0018 ss: 0018
Process find (pid: 2875, process nr: 42, stackpage=c1d0d000)
Stack: c0231f90 c1d0c000 00000004 c1d0debc 00000000 c014cb43 c0154c8f c1d0dc4c
c0154c8f 00000004 c1d0debc 00000000 c02c1dcc 00000000 0002d047 c1d0dc64
c1d0de00 c014dd95 00000000 c1d0debc c1d0dcd8 00000004 00000000 00003940
Call Trace: [<c0154c8f>] (0) [<c014dd95>] (36) [<c0154e18>] (436) [<c015517f>] (236) [<c012ebae>] (76) [<c012ede3>] (28) [<c012ee8d>] (52)
[<c012cdb2>] (28) [<c010a743>] (24) [<ffffffff>] [<c01283d7>] 2875 [<c0154c8f>] 2875 [<c0150ed8>] 2875 [<c014d457>] 2875 [<c014d3be>] 2875 [<c014d240>] 2875 [<c014d2a4>] 2875 [<c014cc5a>] 2875 [<c012924a>] 2875 [<c0128f11>] 2875 [<c0128f5f>] 2875 [
<c014cafb>] 2875 [<c0129325>] 2875 [<c0128bd3>] 2875 [<c012842c>] 2875 [<c01283d7>] 2875 [<c0154c8f>] 2875 [<c0150ed8>] 2875 [<c014d457>] 2875 [<c014d3be>] 2875 [<c014d240>] 2875 [<c014d2a4>] 2875 [<c014cc5a>] 2875 [<c012924a>] 2875 [<c0128f11>] 2875 [<c0
128f5f>] 2875 [<c014cafb>] 2875 [<c0129325>] 2875 [<c0128bd3>] 2875 [<c012842c>] 2875
Code: c6 05 00 00 00 00 00 8d 65 ec 5b 5e 5f 89 ec 5d c3 55 89 e5

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

>>EIP: c013f5fb <mcount (profiler.c:294)> *(char *)0=0;
Trace: c0154c8f <vfat_readdir_cb (namei.c:1052)> struct vfat_find_info *vf = (struct vfat_find_info *) buf;
Trace: c014dd95 <fat_readdirx (dir.c:300)> if (fat_filldir(filldir, dirent, bufname, i+dotoffset, 0, oldpos, spos, long_slots, ino) < 0)
Trace: c0154e18 <vfat_find (namei.c:1113)> res = fat_readdirx(dir,&fil,(void *)&vf,vfat_readdir_cb,NULL,1,find_long,0);
Trace: c015517f <vfat_lookup (namei.c:1223)> if ((res = vfat_find(dir,&dentry->d_name,1,0,0,&sinfo)) < 0) {
Trace: c012ebae <real_lookup (namei.c:289)> int error = dir->i_op->lookup(dir, dentry);
Trace: c012ede3 <lookup_dentry (namei.c:419)> dentry = real_lookup(base, &this);
Trace: c012ee8d <__namei (namei.c:461)> dentry = lookup_dentry(name, NULL, follow_link);
Trace: c012cdb2 <sys_newlstat (stat.c:197)> dentry = lnamei(filename);
Trace: c010a743 <system_call+43/50>
Trace: ffffffff
Trace: c01283d7 <find_buffer (buffer.c:567)>
Trace: c0154c8f <vfat_readdir_cb (namei.c:1052)>
Trace: c0150ed8 <fat_get_entry (misc.c:327)>
Trace: c014d457 <fat_smap (cache.c:265)>
Trace: c014d3be <fat_get_cluster (cache.c:249)>
Trace: c014d240 <fat_cache_lookup (cache.c:149)>
Trace: c014d2a4 <fat_cache_add (cache.c:190)>
Trace: c014cc5a <fat_brelse (buffer.c:123)>
Trace: c012924a <__brelse (buffer.c:1029)>
Trace: c0128f11 <set_writetime (buffer.c:960)>
Trace: c0128f5f <refile_buffer (buffer.c:990)>
Trace: c014cafb <fat_bread (buffer.c:33)>
Trace: c0129325 <bread (buffer.c:1064)>
Trace: c0128bd3 <getblk (buffer.c:916)>
Trace: c012842c <get_hash_table (buffer.c:592)>
Trace: c01283d7 <find_buffer (buffer.c:567)>
Trace: c0154c8f <vfat_readdir_cb (namei.c:1052)>
Trace: c0150ed8 <fat_get_entry (misc.c:327)>
Trace: c014d457 <fat_smap (cache.c:265)>
Trace: c014d3be <fat_get_cluster (cache.c:249)>
Trace: c014d240 <fat_cache_lookup (cache.c:149)>
Trace: c014d2a4 <fat_cache_add (cache.c:190)>
Trace: c014cc5a <fat_brelse (buffer.c:123)>
Trace: c012924a <__brelse (buffer.c:1029)>
Trace: c0128f11 <set_writetime (buffer.c:960)>
Trace: c0128f5f <refile_buffer (buffer.c:990)>
Trace: c014cafb <fat_bread (buffer.c:33)>
Trace: c0129325 <bread (buffer.c:1064)>
Trace: c0128bd3 <getblk (buffer.c:916)>
Trace: c012842c <get_hash_table (buffer.c:592)>
Code: c013f5fb <mcount+1f7/208>
Code: c013f5fb <mcount+1f7/208> c6 05 00 00 00 movb $0x0,0x0
Code: c013f602 <mcount+1fe/208> 8d 65 ec leal 0xffffffec(%ebp),%esp
Code: c013f60b <mcount+207/208> 5b popl %ebx
Code: c013f60c <mcount_internal> 5e popl %esi
Code: c013f60d <mcount_internal+1/1d0> 5f popl %edi
Code: c013f60e <mcount_internal+2/1d0> 89 ec movl %ebp,%esp
Code: c013f610 <mcount_internal+4/1d0> 5d popl %ebp
Code: c013f611 <mcount_internal+5/1d0> c3 ret
Code: c013f612 <mcount_internal+6/1d0> 55 pushl %ebp
Code: c013f613 <mcount_internal+7/1d0> 89 e5 movl %esp,%ebp

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu