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>