Date: Fri, 12 May 2017 10:57:09 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 219224] sync hanging in _cv_wait zil_commit zfs_sync sys_sync Message-ID: <bug-219224-8-qeVXcugySx@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-219224-8@https.bugs.freebsd.org/bugzilla/> References: <bug-219224-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219224 --- Comment #1 from Tino Reinhardt <t@sdf.org> --- I seem to be able to reproduce this on a similar system, having cfengine running and run a loop in a shell like "while :; do sync; done": tools-2-b# ps ax | grep sync 27 - DL 1:27.96 [syncer] 3667 1 R+ 1017:57.50 sync tools-2-b# procstat -kk 3667 PID TID COMM TDNAME KSTACK 3667 102488 sync - dbuf_read+0x155 dnode_hold_impl+0x188 dmu_bonus_hold+0x1d zfs_zget+0xc5 zfs_get_data+0x40 zil_commit+0x6a1 zfs_sync+0xad sys_sync+0x146 amd64_syscall+0x4ce Xfast_syscall+0xfb=20 tools-2-b# procstat -kk 3667 PID TID COMM TDNAME KSTACK 3667 102488 sync - dnode_hold_impl+0x409 dmu_bonus_hold+0x1d zfs_zget+0xc5 zfs_get_data+0x40 zil_commit+0x6a1 zfs_sync+0xad sys_sync+0x146 amd64_syscall+0x4ce Xfast_syscall+0xfb=20 tools-2-b# procstat -kk 3667 PID TID COMM TDNAME KSTACK 3667 102488 sync - dmu_zfetch+0x7b dbuf_read+0x= 155 dnode_hold_impl+0x188 dmu_bonus_hold+0x1d zfs_zget+0xc5 zfs_get_data+0x40 zil_commit+0x6a1 zfs_sync+0xad sys_sync+0x146 amd64_syscall+0x4ce Xfast_syscall+0xfb tools-2-b# ps ax | awk '$3~"D"' | tail 22 - DL 0:00.00 [vmdaemon] 23 - DL 0:00.01 [pagezero] 24 - DL 0:02.13 [bufspacedaemon] 25 - DL 0:02.06 [bufdaemon] 26 - DL 0:02.31 [vnlru] 27 - DL 1:26.84 [syncer] 643 - DL 1:03.87 [pf purge] 3650 - DsJ 0:00.05 /var/cfengine/bin/cf-agent -f failsafe.cf 11495 - DJ 0:00.01 /var/cfengine/bin/cf-agent -f failsafe.cf 96409 - DL 0:15.85 [ftcleanup] tools-2-b# procstat -k 3650 PID TID COMM TDNAME KSTACK=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 3650 102929 cf-agent - mi_switch sleepq_wait _cv_wa= it zil_commit zfs_freebsd_putpages VOP_PUTPAGES_APV vnode_pager_putpages vm_pageout_flush vm_object_page_collect_flush vm_object_page_clean vm_object_terminate zfs_freebsd_reclaim VOP_RECLAIM_APV vgonel vrecycle zfs_freebsd_inactive VOP_INACTIVE_APV vinactive The shell loop is running in a screen and this indicates it took around 5 minutes for a sync(8) to stay hanging around: tools-2-b# ps ax | grep sync 27 - DL 1:27.96 [syncer] 3667 1 R+ 1017:57.50 sync tools-2-b# ps olstart 3667 STARTED Thu May 11 19:50:28 2017 This is the hanging cf-agent process: tools-2-b# ps olstart 3650 STARTED Thu May 11 19:50:28 2017 >From this on, other calls to sync(2) are hanging: tools-2-b# printf '#include<unistd.h>\n int main(){sync();}' | cc -x c -o s= ync - tools-2-b# ./sync & [1] 67191 tools-2-b# procstat -kk 67191 PID TID COMM TDNAME KSTACK 67191 103195 sync - mi_switch+0xd2 sleepq_wait+0= x3a _cv_wait+0x194 zil_commit+0x85 zfs_sync+0xad sys_sync+0x146 amd64_syscall+0= x4ce Xfast_syscall+0xfb --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219224-8-qeVXcugySx>