Bug #2102
closedUFS panic during ffs_sync
0%
Description
I'm consistently getting a panic (master from 7/18) with light testing of a ufs
fs on an ssd:
fsstress -n 100 -p 100
ip = VTOI; #returns null because vp->v_data is 0x0
(kgdb) bt
#0 _get_mycpu (di=<value optimized out>) at ./machine/thread.h:69
#1 md_dumpsys (di=<value optimized out>) at
/mnt/src/main/sys/platform/pc64/x86_64/dump_machdep.c:263
#2 0xffffffff804818f5 in dumpsys () at /mnt/src/main/sys/kern/kern_shutdown.c:927
#3 0xffffffff80481f5b in boot (howto=260) at
/mnt/src/main/sys/kern/kern_shutdown.c:389
#4 0xffffffff80482204 in panic (fmt=0xffffffff8077188b "%s") at
/mnt/src/main/sys/kern/kern_shutdown.c:833
#5 0xffffffff80725bce in trap_fatal (frame=0xffffffe05f0ec888, eva=<value
optimized out>)
at /mnt/src/main/sys/platform/pc64/x86_64/trap.c:978
#6 0xffffffff80725d61 in trap_pfault (frame=0xffffffe05f0ec888, usermode=<value
optimized out>)
at /mnt/src/main/sys/platform/pc64/x86_64/trap.c:876
#7 0xffffffff80726232 in trap (frame=0xffffffe05f0ec888) at
/mnt/src/main/sys/platform/pc64/x86_64/trap.c:591
#8 0xffffffff8071ed0e in calltrap () at
/mnt/src/main/sys/platform/pc64/x86_64/exception.S:187
#9 0xffffffff8063742d in ffs_sync_scan1 (mp=0xffffffe05bd3daf8,
vp=0xffffffe05f4557a8, data=0xffffffe05f0ec9f8)
at /mnt/src/main/sys/vfs/ufs/ffs_vfsops.c:1029
#10 0xffffffff804f0a05 in vmntvnodescan (mp=0xffffffe05bd3daf8, flags=<value
optimized out>,
fastfunc=<value optimized out>, slowfunc=<value optimized out>, data=<value
optimized out>)
at /mnt/src/main/sys/kern/vfs_mount.c:1043
#11 0xffffffff80637dbe in ffs_sync (mp=0xffffffe05bd3daf8, waitfor=<value
optimized out>)
at /mnt/src/main/sys/vfs/ufs/ffs_vfsops.c:988
#12 0xffffffff804fc2fe in vfs_sync (mp=0xffffffe05bd3daf8, waitfor=6) at
/mnt/src/main/sys/kern/vfs_vfsops.c:196
#13 0xffffffff804f7480 in sync_callback (mp=0xffffffe05bd3daf8, data=<value
optimized out>)
at /mnt/src/main/sys/kern/vfs_syscalls.c:893
#14 0xffffffff804f10b2 in mountlist_scan (callback=<value optimized out>,
data=0x0, how=<value optimized out>)
at /mnt/src/main/sys/kern/vfs_mount.c:889
#15 0xffffffff804f6fb4 in sys_sync (uap=<value optimized out>) at
/mnt/src/main/sys/kern/vfs_syscalls.c:872
#16 0xffffffff80726982 in syscall2 (frame=0xffffffe05f0ecc08) at
/mnt/src/main/sys/platform/pc64/x86_64/trap.c:1188
#17 0xffffffff8071ef4f in Xfast_syscall () at
/mnt/src/main/sys/platform/pc64/x86_64/exception.S:320
#18 0x000000000000002b in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(kgdb) frame 9
#9 0xffffffff8063742d in ffs_sync_scan1 (mp=0xffffffe05bd3daf8,
vp=0xffffffe05f4557a8, data=0xffffffe05f0ec9f8)
at /mnt/src/main/sys/vfs/ufs/ffs_vfsops.c:1029
1029 if (vp->v_type == VNON || ((ip->i_flag &
(kgdb) p ip
$1 = <value optimized out>
(kgdb) p vp->v_data
$2 = (void *) 0x0
(kgdb) p vp
$3 = (struct vnode *) 0xffffffe05f4557a8
Files
Updated by Anonymous about 13 years ago
Fixed by checking if inode pointer is NULL in ffs_sync_scan1(). This fix is
similar the inode pointer check that exists in hammer_sync_scan1().
Updated by Anonymous almost 13 years ago
- Status changed from New to Closed
This has been fixed by some of the recent fixes that Matt committed.