Hi, Today I did something stupid. I umount'ed a filesystem of my NFS Server, while an NFS client was writing to it. My NFS Server is: polly# uname -a FreeBSD polly.arved.de 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Sat Aug 16 10:11:52 CEST 2003 tilman_at_sauna.arved.de:/usr/obj/usr/source/CURRENT/sys/POLLY i386 To my surprise I didn't got a "Device busy" error or something like that, but the following panic. I rebooted, and tried again, and this panic is reproducable. panic(c03b359c,c1973b00,c403a600,c1948ab0,c1ce35b4) at panic+0xb7 g_dev_strategy(c403a600) at g_dev_strategy+0x118 spec_xstrategy(c1ce35b4,c403a600,0,cd001960,c0201253) at spec_xstrategy+0x20f spec_specstrategy(cd001988,cd0019a4,c026d8f4,cd001988,0) at spec_specstrategy+0x4e spec_vnoperate(cd001988) at spec_vnoperate+0x13 breadn(c1ce35b4,b7c4e0,0,4000,0) at breadn+0xf4 bread(c1ce35b4,b7c4e0,0,4000,0) at bread+0x20 ffs_update(c1dc0b68,1,ba,0,0) at ffs_update+0x1eb ffs_fsync(cd001ae0,c02ade94,c0473d20,0,c0229c8d) at ffs_fsync+0x397 nfsrv_commit(c1b0d700,c1a24b00,c1948ab0,cd001c78,0) at nfsrv_commit+0x3b6 nfssvc_nfsd(c1948ab0,c19479e0,1,c03b7606,167) at nfssvc_nfsd+0x372 nfssvc(c1948ab0,cd001d14,2,0,292) at nfssvc+0x12c syscall(2f,2f,2f,bfbffdc4,4) at syscall+0x1ed Xint0x80_syscall() at Xint0x80_syscall+0x1d (kgdb) bt #0 doadump () at /usr/source/CURRENT/sys/kern/kern_shutdown.c:240 #1 0xc014ea78 in db_fncall (dummy1=0, dummy2=0, dummy3=-1069042912, dummy4=0xc8967750 "lw\226Èh\234\"À ³GÀ\001") at /usr/source/CURRENT/sys/ddb/db_command.c:548 #2 0xc014e85e in db_command (last_cmdp=0xc03e3210, cmd_table=0x0, aux_cmd_tablep=0xc03db3e8, aux_cmd_tablep_end=0xc03db3ec) at /usr/source/CURRENT/sys/ddb/db_command.c:346 #3 0xc014e94b in db_command_loop () at /usr/source/CURRENT/sys/ddb/db_command.c:472 #4 0xc01512ea in db_trap (type=3, code=0) at /usr/source/CURRENT/sys/ddb/db_trap.c:73 #5 0xc0363910 in kdb_trap (type=3, code=0, regs=0xc896787c) at /usr/source/CURRENT/sys/i386/i386/db_interface.c:172 #6 0xc03731cf in trap (frame= {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = 1, tf_esi = -1069861476, tf_ebp = -929662784, tf_isp = -929662808, tf_ebx = 0, tf_edx = 0, tf_ecx = 1, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -1070187611, tf_cs = 8, tf_eflags = 642, tf_esp = -929662740, tf_ss = -929662752}) at /usr/source/CURRENT/sys/i386/i386/trap.c:580 #7 0xc0364f58 in calltrap () at {standard input}:96 #8 0xc0231c97 in panic ( fmt=0xc03b359c "Consumer with zero access count in g_dev_strategy") at /usr/source/CURRENT/sys/kern/kern_shutdown.c:534 #9 0xc0203ad8 in g_dev_strategy (bp=0xc4017920) at /usr/source/CURRENT/sys/geom/geom_dev.c:422 #10 0xc0201eaf in spec_xstrategy (vp=0xc1ce5db0, bp=0xc4017920) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:512 #11 0xc0201f0e in spec_specstrategy (ap=0xc896795c) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:529 #12 0xc0201253 in spec_vnoperate (ap=0x0) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:122 #13 0xc026d8f4 in breadn (vp=0xc1ce5db0, blkno=5269152, size=16384, rablkno=0x0, rabsize=0x0, cnt=0, cred=0x0, bpp=0x0) at vnode_if.h:1116 #14 0xc026d7e0 in bread (vp=0xc1ce5db0, blkno=5269152, size=16384, cred=0x0, bpp=0xc89679fc) at /usr/source/CURRENT/sys/kern/vfs_bio.c:679 #15 0xc030ddcb in ffs_update (vp=0xc1a05a44, waitfor=0) at /usr/source/CURRENT/sys/ufs/ffs/ffs_inode.c:104 #16 0xc0325907 in ufs_inactive (ap=0x0) at /usr/source/CURRENT/sys/ufs/ufs/ufs_inode.c:125 #17 0xc032c993 in ufs_vnoperate (ap=0x0) at /usr/source/CURRENT/sys/ufs/ufs/ufs_vnops.c:2792 #18 0xc027e32e in vput (vp=0xc1a05a44) at vnode_if.h:953 #19 0xc1a34c19 in nfsrv_write (nfsd=0xc1dab900, slp=0xc19de580, td=0xc0b90390, mrq=0xc8967c78) at /usr/source/CURRENT/sys/nfsserver/nfs_serv.c:1018 #20 0xc1a40752 in nfssvc_nfsd (td=0x0) at /usr/source/CURRENT/sys/nfsserver/nfs_syscalls.c:445 #21 0xc1a401cc in nfssvc (td=0xc0b90390, uap=0xc8967d14) at /usr/source/CURRENT/sys/nfsserver/nfs_syscalls.c:180 #22 0xc037394d in syscall (frame= {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077936700, tf_esi = 4, tf_ebp = ---Type <return> to continue, or q <return> to quit--- -1077937592, tf_isp = -929661580, tf_ebx = 0, tf_edx = 672335864, tf_ecx = 25, tf_eax = 155, tf_trapno = 12, tf_err = 2, tf_eip = 671851775, tf_cs = 31, tf_eflags = 658, tf_esp = -1077937620, tf_ss = 47}) at /usr/source/CURRENT/sys/i386/i386/trap.c:1008 #23 0xc0364fad in Xint0x80_syscall () at {standard input}:138 ---Can't read userspace from dump, or kernel process--- (kgdb) fr 9 #9 0xc0203ad8 in g_dev_strategy (bp=0xc4017920) at /usr/source/CURRENT/sys/geom/geom_dev.c:422 422 ("g_dev_strategy raced with g_dev_close and lost")); (kgdb) list 417 "g_dev_strategy(%p/%p) offset %jd length %jd data %p cmd %d", 418 bp, bp2, (intmax_t)bp->bio_offset, (intmax_t)bp2->bio_length, 419 bp2->bio_data, bp2->bio_cmd); 420 g_io_request(bp2, cp); 421 KASSERT(cp->acr || cp->acw, 422 ("g_dev_strategy raced with g_dev_close and lost")); 423 424 } 425 426 /* (kgdb) fr 10 #10 0xc0201eaf in spec_xstrategy (vp=0xc1ce5db0, bp=0xc4017920) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:512 512 DEV_STRATEGY(bp); (kgdb) list 507 if (dsw->d_flags & D_NOGIANT) { 508 /* XXX: notyet DROP_GIANT(); */ 509 DEV_STRATEGY(bp); 510 /* XXX: notyet PICKUP_GIANT(); */ 511 } else 512 DEV_STRATEGY(bp); 513 514 return (0); 515 } 516 (kgdb) fr 11 #11 0xc0201f0e in spec_specstrategy (ap=0xc896795c) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:529 529 return spec_xstrategy(ap->a_vp, ap->a_bp); (kgdb) list 524 525 KASSERT(ap->a_vp->v_rdev == ap->a_bp->b_dev, 526 ("%s, dev %s != %s", __func__, 527 devtoname(ap->a_vp->v_rdev), 528 devtoname(ap->a_bp->b_dev))); 529 return spec_xstrategy(ap->a_vp, ap->a_bp); 530 } 531 532 static int 533 spec_freeblks(ap) (kgdb) fr 12 #12 0xc0201253 in spec_vnoperate (ap=0x0) at /usr/source/CURRENT/sys/fs/specfs/spec_vnops.c:122 122 return (VOCALL(spec_vnodeop_p, ap->a_desc->vdesc_offset, ap)); (kgdb) list 117 struct vop_generic_args /* { 118 struct vnodeop_desc *a_desc; 119 <other random data follows, presumably> 120 } */ *ap; 121 { 122 return (VOCALL(spec_vnodeop_p, ap->a_desc->vdesc_offset, ap)); 123 } 124 125 /* 126 * Open a special file.Received on Sat Aug 16 2003 - 08:06:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:19 UTC