From owner-freebsd-stable@FreeBSD.ORG Tue Oct 2 21:46:43 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D4F41065679; Tue, 2 Oct 2012 21:46:43 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id E275A8FC25; Tue, 2 Oct 2012 21:46:42 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap8EAIBfa1CDaFvO/2dsb2JhbABFhgu5X4IgAQEBBAEBASArIAsbDgoCAg0SBwIpAQkmBggHBAEZAwSHZAulGoI7kE2BIYoCGgGFDYESA5M8gi2BFYgnhm+DA4FHNA X-IronPort-AV: E=Sophos;i="4.80,524,1344225600"; d="scan'208";a="181612446" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 02 Oct 2012 17:46:36 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 508D5B4043; Tue, 2 Oct 2012 17:46:36 -0400 (EDT) Date: Tue, 2 Oct 2012 17:46:36 -0400 (EDT) From: Rick Macklem To: John Baldwin Message-ID: <2100574836.1605507.1349214396315.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <201210021715.19310.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.91.203] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: Norbert Aschendorff , kib , freebsd-stable@freebsd.org Subject: Re: panic "Sleeping thread owns a non-sleepable lock" via cv_timedwait_signal, was "rsync over NFS" X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Oct 2012 21:46:43 -0000 John Baldwin wrote: > 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. > Yep, it looks like every call to vinactive() is followed by a VI_UNLOCK(). Also, when v_interlock gets mtx_init()'d, it only gets MTX_DEF, so I think there would be a panic() if VI_LOCK(vp) was done recursively? I've added kib@ to the cc list, in case he has some insight into this? (Kostik, Norbert gets a panic() after "Sleeping thread (tid nn, pid mm) owns a non-sleepable lock" happens in propagate_priority() called from cv_timedwait_sig() in the server side krpc by a kernel nfsd thread.) rick > 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 > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to > "freebsd-stable-unsubscribe@freebsd.org"