I have a DDB session open to a crashed ZFS server

John Baldwin jhb at freebsd.org
Tue Oct 16 16:17:32 UTC 2012


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.

-- 
John Baldwin


More information about the freebsd-fs mailing list