Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Nov 2013 22:51:42 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Justin Hibbits <jhibbits@freebsd.org>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: Strange panic on ppc64
Message-ID:  <20131112205142.GY59496@kib.kiev.ua>
In-Reply-To: <CAHSQbTD6%2BDd-So88gSArTtpcA=w4D-GibGpoFLoHQuFPjUrKuA@mail.gmail.com>
References:  <CAHSQbTD6%2BDd-So88gSArTtpcA=w4D-GibGpoFLoHQuFPjUrKuA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--bNm70WCgfOzpu7dt
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 12, 2013 at 08:32:31AM -0800, Justin Hibbits wrote:
> The log is attached.  I'm not sure what exactly is going on here.  The
> conditions were: building something on zfs, while also accessing files ov=
er
> NFS.  It seems each of those individually is fine, but doing both it brin=
gs
> my system down.  I _think_ the actual panic message (recursed on
> non-recursive mutex) is a red herring, since it already trapped in the
> kernel, twice.  Any clues?  It's 100% reproducible by me.
>=20
This does not seems related to NFS or ZFS proper.  What happens is
that tc_windup() executing in the interupt context decided to enter
a debugger.  I am not sure why the debugger is entered.

Apart from this, the situation is clear:
the interrupt happens while the referenced mutex was owned. The debugger
is entered, and tries to read a char from keyboard, which is USB. For
USB to function, it has to access a lot of the kernel services, in
particular, busdma, which, in turn, requires some pmap calls, and you
end up accessing the same mutex.

The bug there is that code executed from interrupt or debugger context
must not lock mutexes, or generally, call into top-half of the kernel
(now top half is essentially the whole kernel).  I am not sure if
USB could ever work in such mode.

--bNm70WCgfOzpu7dt
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBAgAGBQJSgpTdAAoJEJDCuSvBvK1B4OUP/A5NjLXMW9xXf6fBedOFoWWq
F9vuBalozkJZuilFFqPHw7BAugJHORwQeZFMh47EWrR6o0f9rgeBe3FdwHZXmnxn
CBmb+JO4XmPI0N8XzPBCSGU10Qpb99hQMZmxdHDuBJPCdegIvVA4KmsR2pSTS5yd
w1FQGOd3X5kvpWWyislaTcuVbguK5PeHz6AfSMJaERcl8ZvSPtuFTNhOpzTyksWM
JnyThoU19L3CvHqh2Es+uyI/lNAgy43GBfkcR+SSqepQJXuXgJw3xZZJdQwYU8Lw
Bg1KOcvHsxUilYarJQt+YyC1+fTYkGA8/hlGQK6n4wBCs/Tz8jYzK4TACrKQr3eH
OhzcOEq4fWC1UzzHlwxQ/2AUrW2DEfeUVuNz+O0Ugt23Cv4OazZCoWmh2XNFshdZ
yll0pklga4t4QuIt+rPi945Marp9VrZpik8cUFi/b/9y7D8ObkfkbkxT/p1YDUh/
ZDPaOn11MbYRcR2nxNlKH/F8HYdPnv/mSlGlxmB4zcQdz9H5pfI0yPOXEjRK7faK
LolOKG4QfLlUdKDU0mbsQkyYXgw+tMRdNSp9msVrfqaGVwK1uo9l6WiE+62UwwZi
SoV0bvoxEC8LBVapGg1pM9KbgWuPI5ypWml6iaBnhAo+1uMGlFm0Tmi/mv9kL2AB
Z58cP8maiFy14AaCHM5M
=nqVO
-----END PGP SIGNATURE-----

--bNm70WCgfOzpu7dt--



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