Date: Thu, 10 Nov 2016 16:00:06 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: Henri Hennebert <hlh@restart.be>, freebsd-stable@FreeBSD.org Subject: Re: Freebsd 11.0 RELEASE - ZFS deadlock Message-ID: <9d1f9a76-5a8d-6eca-9a50-907d55099847@FreeBSD.org> In-Reply-To: <a14d508d-351f-71f4-c7cc-ac73dbcde357@restart.be> References: <0c223160-b76f-c635-bb15-4a068ba7efe7@restart.be> <aaf2df40-b0df-2141-9ed8-5b947d8d5a33@FreeBSD.org> <43c9d4d4-1995-5626-d70a-f92a5b456629@FreeBSD.org> <a14d508d-351f-71f4-c7cc-ac73dbcde357@restart.be>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/11/2016 12:30, Henri Hennebert wrote: > On 11/10/2016 11:21, Andriy Gapon wrote: >> On 09/11/2016 15:58, Eric van Gyzen wrote: >>> On 11/09/2016 07:48, Henri Hennebert wrote: >>>> I encounter a strange deadlock on >>>> >>>> FreeBSD avoriaz.restart.bel 11.0-RELEASE-p3 FreeBSD 11.0-RELEASE-p3 #0 r308260: >>>> Fri Nov 4 02:51:33 CET 2016 >>>> root@avoriaz.restart.bel:/usr/obj/usr/src/sys/AVORIAZ amd64 >>>> >>>> This system is exclusively running on zfs. >>>> >>>> After 3 or 4 days, `periodic daily` is locked in the directory >>>> /usr/local/news/bin >>>> >>>> [root@avoriaz ~]# ps xa|grep find >>>> 85656 - D 0:01.13 find / ( ! -fstype local -o -fstype rdonly ) -prune >>>> -o ( -name [#,]* -o -name .#* -o -name a.out -o -nam >>>> 462 1 S+ 0:00.00 grep find >>>> [root@avoriaz ~]# procstat -f 85656 >>>> PID COMM FD T V FLAGS REF OFFSET PRO NAME >>>> 85656 find text v r r------- - - - /usr/bin/find >>>> 85656 find cwd v d r------- - - - /usr/local/news/bin >>>> 85656 find root v d r------- - - - / >>>> 85656 find 0 v c r------- 3 0 - /dev/null >>>> 85656 find 1 p - rw------ 1 0 - - >>>> 85656 find 2 v r -w------ 7 17 - - >>>> 85656 find 3 v d r------- 1 0 - /home/root >>>> 85656 find 4 v d r------- 1 0 - /home/root >>>> 85656 find 5 v d r----n-- 1 533545184 - /usr/local/news/bin >>>> [root@avoriaz ~]# >>>> >>>> If I try `ls /usr/local/news/bin` it is also locked. >>>> >>>> After `shutdown -r now` the system remain locked after the line '0 0 0 0 0 0' >>>> >>>> After a reset and reboot I can access /usr/local/news/bin. >>>> >>>> I delete this directory and reinstall the package `portupgrade -fu news/inn` >>>> >>>> 5 days later `periodic daily`is locked on the same directory :-o >>>> >>>> Any idea? >>> >>> I can't help with the deadlock, but someone who _can_ help will probably ask for >>> the output of "procstat -kk PID" with the PID of the "find" process. >> >> In fact, it's procstat -kk -a. With just one thread we would see that a thread >> is blocked on something, but we won't see why that something can not be acquired. >> >> > I attach the result, Interesting. I can not spot any suspicious thread that would hold the vnode lock. Could you please run kgdb (just like that, no arguments), then execute 'bt' command and then select a frame when _vn_lock is called with 'fr N' command. Then please 'print *vp' and share the result. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9d1f9a76-5a8d-6eca-9a50-907d55099847>