Bug #1850

Updated by Anonymous over 4 years ago



 expanding a hammer root filesystem with hammer volume-add (which is 
 pretty cool btw) leads to a panic on shutdown: 


 panic: assertion: (bp->b_flags & B_LOCKED) == 0 && iou->io.running == 
 0 in hammer_io_deallocate 


 After a reboot everything is ok. 
 The problem can be reproduced in a vkernel. 




 PS: One minor issue: The values df reports seem a bit off after 
     the volume-add. They also are fine after a reboot. 


 Program received signal SIGTRAP, Trace/breakpoint trap. 
 Debugger (msg=0x8294114 "panic") at /usr/src/sys/platform/vkernel/i386/db_interface.c:334 
 334 		     in_Debugger = 0; 
 (gdb) bt 
 #0    Debugger (msg=0x8294114 "panic") at /usr/src/sys/platform/vkernel/i386/db_interface.c:334 
 #1    0x080e3bfd in panic (fmt=0x827b38c "assertion: %s in %s") at /usr/src/sys/kern/kern_shutdown.c:743 
 #2    0x08224a05 in hammer_io_deallocate (bp=0x5071f260) at /usr/src/sys/vfs/hammer/hammer_io.c:1093 
 #3    0x0812b79d in buf_deallocate (bp=0x5071f260) at /usr/src/sys/sys/buf2.h:239 
 #4    brelse (bp=0x5071f260) at /usr/src/sys/kern/vfs_bio.c:1273 
 #5    0x0813f901 in vinvalbuf_bp (bp=0x5071f260, data=0x544659dc) at /usr/src/sys/kern/vfs_subr.c:424 
 #6    0x0813c8ae in buf_rb_tree_RB_SCAN (head=0x567de51c, scancmp=0x813c7bc <buf_rb_tree_SCANCMP_ALL>,  
     callback=0x813f7e9 <vinvalbuf_bp>, data=0x544659dc) at /usr/src/sys/kern/vfs_subr.c:141 
 #7    0x0813f2b3 in vinvalbuf (vp=0x567de4c8, flags=1, slpflag=0, slptimeo=0) at /usr/src/sys/kern/vfs_subr.c:334 
 #8    0x0813f434 in vclean_vxlocked (vp=0x567de4c8, flags=8) at /usr/src/sys/kern/vfs_subr.c:1142 
 #9    0x0813f622 in vgone_vxlocked (vp=0x567de4c8) at /usr/src/sys/kern/vfs_subr.c:1349 
 #10 0x0814212b in vflush_scan (mp=0x545c3fc0, vp=0x567de4c8, data=0x54465b4c) at /usr/src/sys/kern/vfs_mount.c:1252 
 #11 0x081422aa in vmntvnodescan (mp=0x545c3fc0, flags=2, fastfunc=0, slowfunc=0x81420ac <vflush_scan>, data=0x54465b4c) 
     at /usr/src/sys/kern/vfs_mount.c:1068 
 #12 0x081424cd in vflush (mp=0x545c3fc0, rootrefs=0, flags=2) at /usr/src/sys/kern/vfs_mount.c:1184 
 #13 0x08213aa3 in devfs_unmount (mp=0x545c3fc0, mntflags=524288) at /usr/src/sys/vfs/devfs/devfs_vfsops.c:142 
 #14 0x08150d79 in vfs_unmount (mp=0x545c3fc0, mntflags=524288) at /usr/src/sys/kern/vfs_vfsops.c:123 
 #15 0x08145e40 in dounmount (mp=0x545c3fc0, flags=524288) at /usr/src/sys/kern/vfs_syscalls.c:755 
 #16 0x0813e3ae in vfs_umountall_callback (mp=0x545c3fc0, data=0x0) at /usr/src/sys/kern/vfs_subr.c:1714 
 #17 0x081427fb in mountlist_scan (callback=0x813e39b <vfs_umountall_callback>, data=0x0, how=<value optimized out>) 
     at /usr/src/sys/kern/vfs_mount.c:900 
 #18 0x0813d9d3 in vfs_unmountall () at /usr/src/sys/kern/vfs_subr.c:1703 
 #19 0x080e3503 in boot (howto=8) at /usr/src/sys/kern/kern_shutdown.c:376 
 #20 0x080e3801 in sys_reboot (uap=0x54465c94) at /usr/src/sys/kern/kern_shutdown.c:204 
 #21 0x08271b77 in syscall2 (frame=0x54465d40) at /usr/src/sys/platform/vkernel/i386/trap.c:1221 
 #22 0x08271f42 in user_trap (frame=0x54465d40) at /usr/src/sys/platform/vkernel/i386/trap.c:410 
 #23 0x0827263e in go_user (frame=0x54465d38) at /usr/src/sys/platform/vkernel/i386/trap.c:1427 
 #24 0x0827290e in pmsg4 () at /usr/src/sys/platform/vkernel/i386/fork_tramp.s:103