Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2012 17:15:19 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-stable@freebsd.org
Cc:        Norbert Aschendorff <norbert.aschendorff@yahoo.de>
Subject:   Re: panic "Sleeping thread owns a non-sleepable lock" via cv_timedwait_signal, was "rsync over NFS"
Message-ID:  <201210021715.19310.jhb@freebsd.org>
In-Reply-To: <506B3037.60201@yahoo.de>
References:  <1990296074.1528480.1349129938870.JavaMail.root@erie.cs.uoguelph.ca> <506B3037.60201@yahoo.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, October 02, 2012 2:19:35 pm Norbert Aschendorff wrote:
> Well...
> 
> Here the results for a kernel without WITNESS_SKIPSPIN (I'll compile one
> including that tomorrow, but until then...)
> 
> Good news is: The kernel crashed with activated WITNESS.
> Bad news is: I have to turn power off after the crash with WITNESS. The
> crash dump is _not_ written to disk :(
> 
> Good news II is: It wrote something to the syslog. Actually, it wrote
> very much to the syslog, some megabytes in total. Most of it is the
> same, here the latest messages logfile:
> http://lbo.spheniscida.de/Files/nfs-crash.log (94K)
> 
> It specifies the file, line and zone. Maybe it's useful...

That does help.  It tells us that the lock being held is a vnode interlock 
that was last acquired in vinactive().

I don't see how though, unless the lock was recursively acquired elsewhere.

You could try adding a different WITNESS check (using WITNESS_WARN) to see
which NFS proc returns with a lock held so you can catch this when it first 
occurs rather than much later after the fact.  Do you have the start of the 
log messages?

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210021715.19310.jhb>