On Thu, 11 Feb 2016, John D. Baker wrote: > One thing I think I should check is to get the client stuck and try to > umount an NFS file system without deliberately sabotaging the attempt > (i.e., don't make it PWD before umount). I expect it will get stuck > as well.
Confirmed. Attempting to unmount a non-busy "hard" NFS mount gets stuck. 'crash' excerpt: PID LID S CPU FLAGS STRUCT LWP * NAME WAIT 3174 1 3 0 0 c3149d40 umount tstile 2914 1 3 0 0 c2acf2a0 amd tstile 558 27 3 0 0 c29fbaa0 DOM Worker tstile 0 50 3 0 200 c1806540 ioflush tstile crash> show proc/a c3149d40 lwp_t c3149d40 umount: pid 3174 proc c1cdb87c vmspace/map c1904354 flags 4000 lwp 1 c3149d40 pcb da066000 stat 3 flags 0 cpu 0 pri 43 wmesg tstile wchan c1b54024 crash> bt/a c3149d40 trace: pid 3174 lid 1 at 0xda067e3c sleepq_block(0,0,c073bc98,c0834220,40,c1374d01,c3149d40,c2acf2a2,c2980d04,c1b540 24) at sleepq_block+0x8f turnstile_block(c2980d04,1,c1b54024,c0834220,1,0,0,0,0,0) at turnstile_block+0x1 f8 mutex_vector_enter(c1b54024,c1b54000,0,164,da067f20,c0593630,c1b54000,da067f10,d a067f10,560164e3) at mutex_vector_enter+0x206 vfs_busy(c1b54000,da067f10,da067f10,560164e3,0,c1cdb87c,0,c1f02000,0,d) at vfs_b usy+0x17 do_sys_getvfsstat(c3149d40,0,0,2,c01007d0,8b4,da067f60,da067f9c,c04d4b3f,c3149d4 0) at do_sys_getvfsstat+0x96 sys_getvfsstat(c3149d40,da067f68,da067f60,c0832ff0,da067f68,0,0,0,0,2) at sys_ge tvfsstat+0x3f syscall() at syscall+0x7f --- syscall (number 356) --- bbb04297: crash> show proc/a c2acf2a0 lwp_t c2acf2a0 amd: pid 2914 proc c1cdb6cc vmspace/map c16f61a8 flags 0 lwp 1 c2acf2a0 pcb da390000 stat 3 flags 0 cpu 0 pri 43 wmesg tstile wchan c284a998 crash> bt/a c2acf2a0 trace: pid 2914 lid 1 at 0xda391d10 sleepq_block(0,0,c073bc98,c083463c,40,c1374101,c2acf2a0,0,0,c284a998) at sleepq_ block+0x8f turnstile_block(0,1,c284a998,c083463c,c084cb34,da391da0,1,0,0,0) at turnstile_bl ock+0x1f8 rw_vector_enter(c284a998,1,1,0,c284a998,c284a8f4,c284a8f4,da391e4c,da391dfc,c05a 8f9e) at rw_vector_enter+0x128 genfs_lock(da391dec,ffffffff,c2dc7dc0,c070c6ec,c284a8f4,2,2,da391e14,c0599e74,c2 84a8f4) at genfs_lock+0x87 VOP_LOCK(c284a8f4,2,c284a8f4,c284a8f4,da391e2c,c0598cff,c284a8f4,2,64b8c5,c284a8 f4) at VOP_LOCK+0x50 vn_lock(c284a8f4,2,64b8c5,c284a8f4,da391e60,c058d541,c284a8f4,c058cc40,da391e4c, 1b) at vn_lock+0x1a vrecycle(c284a8f4,c058cc40,da391e4c,1b,0,c2909b04,c2909bb4,0,c1f35e00,c2909bb4) a t vrecycle+0x1b vflush(c1b54000,c2909bb4,0,c1b54000,c2acf2a0,c1b54000,c1b54024,0,da391e9c,c058ff a8) at vflush+0x8d nfs_unmount(c1b54000,0,c1b54000,da391ed0,c058dba4,c1b54000,0,c137af00,0,8) at nf s_unmount+0xd0 VFS_UNMOUNT(c1b54000,0,c137af00,0,8,8,c1b54900,1,da391f68,c1b54000) at VFS_UNMOU NT+0x26 dounmount(c1b54000,0,c2acf2a0,c1b54000,0,0,c2acf2a0,c2962410,0,c2962410) at doun mount+0xb3 sys_unmount(c2acf2a0,da391f68,da391f60,c0832048,da391f68,0,0,bb609400,0,200246) a t sys_unmount+0x149 syscall() at syscall+0x7f --- syscall (number 22) --- bba39c37: crash> show proc/a c29fbaa0 lwp_t c29fbaa0 firefox: pid 558 proc c18ba368 vmspace/map c1904c70 flags 4001 lwp 27 [DOM Worker] c29fbaa0 pcb da388000 stat 3 flags 0 cpu 0 pri 43 wmesg tstile wchan c1b54024 lwp 26 [IPDL Background] c29fbd40 pcb da386000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 6c23633c lwp 25 [Cert Verify] c29d2000 pcb da384000 stat 3 flags 80 cpu 0 pri 42 wmesg parked wchan 6f932438 lwp 24 c29d22a0 pcb da382000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 6f93255c lwp 23 [SoftwareVsyncTh] c29d2540 pcb da380000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 6f041d44 lwp 22 [ImageIO] c29d27e0 pcb da35e000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 6e9fcb7c lwp 21 [ImgDecoder #1] c29d2a80 pcb da35c000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 6e9fc558 lwp 20 [ImageBridgeChil] c29d2d20 pcb da35a000 stat 3 flags 80 cpu 0 pri 40 wmesg parked wchan 6f644d44 lwp 19 [Compositor] c1853d20 pcb d86a1000 stat 3 flags 80 cpu 0 pri 40 wmesg parked wchan 6e845d44 lwp 18 [GMPThread] c297f020 pcb da358000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 71a2eadc lwp 16 [Cache2 I/O] c297f560 pcb da354000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 70ad54b8 lwp 15 c297f800 pcb da352000 stat 3 flags 80 cpu 0 pri 43 wmesg kqueue wchan c2911c14 lwp 14 c297faa0 pcb da350000 stat 3 flags 80 cpu 0 pri 43 wmesg select wchan c1368c80 lwp 13 [Timer] c297fd40 pcb da34a000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a72b8 lwp 12 [BgHangManager] c2961000 pcb da344000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 72630338 lwp 11 [Hang Monitor] c29612a0 pcb da342000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 72633c98 lwp 10 [JS Watchdog] c2961540 pcb da340000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a012c38 lwp 9 [JS Helper] c29617e0 pcb da33e000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a7198 lwp 8 [JS Helper] c2961a80 pcb da33c000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a7198 lwp 7 [JS Helper] c2961d20 pcb da33a000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a7198 lwp 6 [JS Helper] c1cde020 pcb da338000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a7198 lwp 5 [JS Helper] c1cde2c0 pcb da336000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a0a7198 lwp 4 c1cde560 pcb da334000 stat 3 flags 80 cpu 0 pri 43 wmesg parked wchan 7a01daf8 lwp 3 [Socket Thread] c1cde800 pcb d9fdd000 stat 3 flags 80 cpu 0 pri 43 wmesg select wchan c1368c80 lwp 2 [Gecko_IOThread] c1cdeaa0 pcb d9fd7000 stat 3 flags 80 cpu 0 pri 43 wmesg kqueue wchan c2911da4 lwp 1 c1c10540 pcb d8788000 stat 3 flags 0 cpu 0 pri 43 wmesg netio wchan c1afb0ec crash> bt/a c29fbaa0 trace: pid 558 lid 27 at 0xda389bf0 sleepq_block(0,0,c073bc98,c0834220,40,c1374d01,c29fbaa0,c2acf2a0,0,c1b54024) at s leepq_block+0x8f turnstile_block(0,1,c1b54024,c0834220,58,556e,0,0,0,0) at turnstile_block+0x1f8 mutex_vector_enter(c1b54024,0,c1b54000,1c,da389ce0,c059904a,c1b54000,0,c30c6850, da389ce8) at mutex_vector_enter+0x206 vfs_busy(c1b54000,0,c30c6850,da389ce8,da389ed4,10c,40,da389cb4,b7ccdd42,da389cb8 ) at vfs_busy+0x17 vcache_get(c1b54000,c30c686c,1c,da389cfc,da389ed4,0,da389da4,c03cb03f,c1b54000,c 30c686c) at vcache_get+0x1a0 nfs_nget1(c1b54000,c30c686c,1c,da389d80,0,da389d70,da389d74,da389d68,0,0) at nfs _nget1+0x26 nfs_create(da389db8,c058c79a,0,c070cb3c,c284a8f4,da389ec0,da389ed4,da389df4,da38 9eac,da389e88) at nfs_create+0xb9c VOP_CREATE(c284a8f4,da389ec0,da389ed4,da389df4,0,200,c1c54780,1,180,ffffffff) at VOP_CREATE+0x56 vn_open(da389eac,60a,180,c29fbaa0,180,c342bf40,37,0,c1719860,c1819c00) at vn_ope n+0x3b9 do_open(c29fbaa0,0,c1719860,609,180,da389f40,0,c1719860,c29fbaa0,da389fa8) at do _open+0xb5 do_sys_openat(609,180,da389f40,da389fa8,da389f9c,c04d4b3f,c29fbaa0,da389f68,da38 9f60,c0831f7c) at do_sys_openat+0x6f sys_open(c29fbaa0,da389f68,da389f60,c0831f7c,da389f68,0,0,90e825b0,609,180) at s ys_open+0x2c syscall() at syscall+0x7f --- syscall (number 5) --- bb973957: crash> show proc/a c1806540 lwp_t c1806540 system: pid 0 proc c08342a0 vmspace/map c0847760 flags 20002 lwp 50 [ioflush] c1806540 pcb d8647000 stat 3 flags 200 cpu 0 pri 124 wmesg tstile wchan c087d384 lwp 49 [pgdaemon] c18067e0 pcb d8645000 stat 3 flags 200 cpu 0 pri 126 wmesg pgdaemon wchan c0880df4 lwp 46 [nfsio] c16fd020 pcb d863f000 stat 3 flags 200 cpu 0 pri 96 wmesg nfsiod wchan c14d525c lwp 45 [nfsio] c16fd2c0 pcb d863d000 stat 3 flags 200 cpu 0 pri 96 wmesg nfsiod wchan c14d51e4 lwp 44 [nfsio] c16fd560 pcb d863b000 stat 3 flags 200 cpu 0 pri 96 wmesg nfsiod wchan c14d52ac lwp 43 [nfsio] c16fd800 pcb d85fc000 stat 3 flags 200 cpu 0 pri 96 wmesg nfsiod wchan c14d52d4 lwp 42 [pfpurge] c1695a80 pcb d8639000 stat 3 flags 200 cpu 0 pri 96 wmesg pftm wchan c03fe9e2 lwp 41 [atapibus0] c16fdaa0 pcb d85fa000 stat 3 flags 200 cpu 0 pri 96 wmesg sccomp wchan c1626328 lwp 38 [usb3] c1695d20 pcb d85f8000 stat 3 flags 200 cpu 0 pri 96 wmesg usbevt wchan c1690218 lwp 37 [usb2] c1503020 pcb d85f6000 stat 3 flags 200 cpu 0 pri 96 wmesg usbevt wchan c14f8234 lwp 36 [usb1] c15032c0 pcb d8635000 stat 3 flags 200 cpu 0 pri 96 wmesg usbevt wchan c1504218 lwp 35 [usb0] c16fdd40 pcb d8633000 stat 3 flags 200 cpu 0 pri 96 wmesg usbevt wchan c1500218 lwp 34 [cryptoret] c16957e0 pcb d85fe000 stat 3 flags 200 cpu 0 pri 96 wmesg crypto_w wchan c0840edc lwp 33 [unpgc] c16952a0 pcb d8604000 stat 3 flags 200 cpu 0 pri 96 wmesg unpgc wchan c08800e4 lwp 32 [vmem_rehash] c1695000 pcb d8602000 stat 3 flags 200 cpu 0 pri 125 wmesg vmem_rehash wchan c14d0944 lwp 23 [atabus1] c1503560 pcb d7da8000 stat 3 flags 200 cpu 0 pri 96 wmesg atath wchan c1626344 lwp 22 [atabus0] c1503800 pcb d7da6000 stat 3 flags 200 cpu 0 pri 96 wmesg atath wchan c16261e4 lwp 21 [fw0probe] c1503aa0 pcb d7c92000 stat 3 flags 280 cpu 0 pri 96 wmesg ieee1394 wchan c15e3470 lwp 20 [usbtask-dr] c1503d40 pcb d796d000 stat 3 flags 200 cpu 0 pri 96 wmesg usbtsk wchan c08801cc lwp 19 [usbtask-hc] c14d7000 pcb d796b000 stat 3 flags 200 cpu 0 pri 96 wmesg usbtsk wchan c08801ac lwp 18 [pms0] c14d72a0 pcb d777d000 stat 3 flags 200 cpu 0 pri 96 wmesg pmsreset wchan c14f6e7c lwp 17 [apm0] c14d7540 pcb d777b000 stat 3 flags 200 cpu 0 pri 96 wmesg apmev wchan c14fbc40 lwp 16 [sysmon] c14d77e0 pcb d7966000 stat 3 flags 200 cpu 0 pri 96 wmesg smtaskq wchan c087e12c lwp 15 [pmfsuspend] c14d7a80 pcb d7964000 stat 3 flags 200 cpu 0 pri 43 wmesg pmfsuspend wchan c14d0dc4 lwp 14 [pmfevent] c14d7d20 pcb d7962000 stat 3 flags 200 cpu 0 pri 43 wmesg pmfevent wchan c14d0e84 lwp 13 [sopendfree] c1389020 pcb d7960000 stat 3 flags 200 cpu 0 pri 96 wmesg sopendfr wchan c088009c lwp 12 [nfssilly] c13892c0 pcb d795e000 stat 3 flags 200 cpu 0 pri 43 wmesg nfssilly wchan c14d0f44 lwp 11 [cachegc] c1389560 pcb d795c000 stat 3 flags 200 cpu 0 pri 125 wmesg cachegc wchan c1389560 lwp 10 [vrele] c1389800 pcb d795a000 stat 3 flags 200 cpu 0 pri 125 wmesg vrele wchan c083f540 lwp 9 [vdrain] c1389aa0 pcb d7958000 stat 3 flags 200 cpu 0 pri 125 wmesg vdrain wchan c083f600 lwp 8 [modunload] c1389d40 pcb d7956000 stat 3 flags 200 cpu 0 pri 125 wmesg mod_unld wchan c0846d64 lwp 7 [xcall/0] c1381000 pcb d7954000 stat 3 flags 200 cpu 0 pri 127 wmesg xcall wchan c082ebf0 lwp 6 [softser/0] c13812a0 pcb d7952000 stat 1 flags 200 cpu 0 pri 223 lwp 5 [softclk/0] c1381540 pcb d7950000 stat 1 flags 200 cpu 0 pri 220 lwp 4 [softbio/0] c13817e0 pcb d78ce000 stat 1 flags 200 cpu 0 pri 221 lwp 3 [softnet/0] c1381a80 pcb d78cc000 stat 1 flags 200 cpu 0 pri 222 lwp 2 [idle/0] c1381d20 pcb d78c8000 stat 1 flags 201 cpu 0 pri 0 lwp 1 [swapper] c0833f60 pcb c09a5000 stat 3 flags 200 cpu 0 pri 125 wmesg uvm wchan c0833f60 crash> bt/a c1806540 trace: pid 0 lid 50 at 0xd8648ec8 sleepq_block(0,0,c073bc98,c0834220,40,c1374d01,c1806540,c2acf2a0,0,c087d384) at s leepq_block+0x8f turnstile_block(0,1,c087d384,c0834220,c1806540,c087d390,0,0,0,0) at turnstile_bl ock+0x1f8 mutex_vector_enter(c087d384,0,64,c087d390,0,0,0,56be4a0f,0,c1806540) at mutex_ve ctor_enter+0x206 sched_sync(c1806540,9a4000,9ab000,0,c0100304,0,0,0,0,0) at sched_sync+0x15 I will arrange to repeat with -current (for DIAGNOSTIC) soon. DEBUG and LOCKDEBUG to follow. A crash dump to follow once the preceeding is tried. (most convenient host with disk-based swap is the build host, so it'll have to be finished with everything first). -- |/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X |\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD | X No HTML/proprietary data in email. BSD just sits there and works! |/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645