Date: Tue, 16 Oct 2012 11:48:14 -0700 (PDT) From: Dennis Glatting <dg@pki2.com> To: Andriy Gapon <avg@freebsd.org> Cc: freebsd-fs@freebsd.org, dg17@penx.com Subject: Re: I have a DDB session open to a crashed ZFS server Message-ID: <alpine.BSF.2.00.1210161139060.22959@btw.pki2.com> In-Reply-To: <507D8B69.3090903@FreeBSD.org> References: <1350317019.71982.50.camel@btw.pki2.com> <201210160844.41042.jhb@freebsd.org> <1350400597.72003.32.camel@btw.pki2.com> <201210161215.33369.jhb@freebsd.org> <507D8B69.3090903@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 16 Oct 2012, Andriy Gapon wrote: > on 16/10/2012 19:15 John Baldwin said the following: >> On Tuesday, October 16, 2012 11:16:37 am Dennis Glatting wrote: >>> On Tue, 2012-10-16 at 08:44 -0400, John Baldwin wrote: >>>> On Monday, October 15, 2012 12:03:39 pm Dennis Glatting wrote: >>>>> FreeBSD/amd64 (mc) (ttyu0) >>>>> >>>>> login: NMI ... going to debugger >>>>> [ thread pid 11 tid 100003 ] >>>> >>>> You got an NMI, not a crash. What happens if you just continue ('c' command) >>>> from DDB? >>>> >>> >>> I hit the NMI button because of the "crash," which is a misword, to get >>> into DDB. >> >> Ah, I would suggest "hung" or "deadlocked" next time. It certainly seems like >> a deadlock since all CPUs are idle. Some helpful commands here might be >> 'show sleepchain' and 'show lockchain'. >> >> Pick a "stuck" process (like find) and run: >> >> 'show sleepchain <pid>' >> >> In your case though it seems both 'find' and the various 'pbzip2' threads >> are stuck on a condition variable, so there isn't an easy way to identify >> an "owner" that is supposed to awaken these threads. It could be a case >> of a missed wakeup perhaps, but you'll need to get someone more familiar >> with ZFS to identify where these codes should be awakened normally. >> > > I would also re-iterate a suggestion that I made to Nikolay ealrier: > http://article.gmane.org/gmane.os.freebsd.devel.file-systems/15981 > > BTW, in that case it turned out to be a genuine deadlock in ZFS ARC handling of > lowmem. > procstat -kk -a is a great help for analyzing such situations. > Without restarting the server and from memory, I believe the ARC on this server is 32GB. The L2ARC is a 50-60GB SSD. The ZIL is a 16GB partitioned SSD but my non-ZIL systems have the same problem. Main memory is 128GB. I can run procstat to a serial console and scarf the output. What interval would be helpful? Five seconds? Remember when the system hangs, no commands will run so the data will be pre-hang. BTW, it takes 4-24 hours to hang under load. Also, are you suggesting I apply the patch in the URL and run again? I have been following your other posts but the patches you posted did not cleanly apply, so I removed them from my rev.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1210161139060.22959>