Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Oct 2012 18:18:58 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Norbert Aschendorff <norbert.aschendorff@yahoo.de>, freebsd-stable@freebsd.org
Subject:   Re: panic "Sleeping thread owns a non-sleepable lock" via cv_timedwait_signal, was "rsync over NFS"
Message-ID:  <1990296074.1528480.1349129938870.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <201210010851.50914.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> On Monday, October 01, 2012 8:07:44 am Rick Macklem wrote:
> > Norbert Aschendorff wrote:
> > > Hi,
> > >
> > > my FreeBSD-9/stable machine (FreeBSD freebsd-tower.goebo.site
> > > 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #2 r241044M: Sat Sep 29
> > > 12:52:01
> > > CEST 2012
> > > lbo@freebsd-tower.goebo.site:/usr/obj/usr/src/sys/GENERIC
> > > i386) crashes reproducibly when rsync-ing files to an NFSv4 share
> > > on
> > > the FreeBSD machine. The crash makes the system reboot. The crash
> > > creates files in /var/crash which may be obtained here: [1].
> > >
> > > This problem is not limited to the self-compiled kernel/world
> > > (stable/9)
> > > but appears also on pre-compiled 9.1-PRERELEASE. I did not test
> > > 9.0-RELEASE.
> > >
> > > If I do not use rsync on this NFS share, everything works
> > > completely
> > > fine.
> > >
> > > Workaround: Use rsync over SSH.
> > >
> > > --Norbert
> > >
> > > [1] http://lbo.spheniscida.de/Files/nfs-rsync-crash.tgz (25K),
> > > vmcore
> > > of
> > > around 300M (90M gzipped, 64M LZMA'd) not included
> > >
> > >From a quick look, the panic is:
> > Sleeping thread (tid 100099, pid 1599) owns a non-sleepable lock
> > called from the server side krpc via cv_timedwait_sig().
> >
> > I assume this means that another mutex or similar is held as well as
> > the one passed in as an argument to cv_timedwait_sig()?
> 
> Yes.
> 
> > (I'll keep looking, but I can't spot where another one might be held
> >  by the NFS or krpc code.)
> 
> If this is reproducible, then adding WITNESS to the kernel will add
> additional info in the panic message to tell you what other locks are
> held and which file:line they were acquired at.
> 
Norbert, would you be able to build a kernel with WITNESS and then reproduce
it?

> > I'm not knowledgible when it comes to gdb and crash dumps. Is there
> > an
> > easy command Norbert can type to see all the locks held by
> > tid 100099, pid 1599?
> 
> No. :( Only WITNESS keeps track of that sort of state.
> 
Ok, thanks. (At least a know a little more about gdb and kernel dumps now;-)

rick

> --
> 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"



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