From owner-freebsd-ppc@FreeBSD.ORG Tue Nov 12 20:51:48 2013 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4015E7C2; Tue, 12 Nov 2013 20:51:48 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AD8282576; Tue, 12 Nov 2013 20:51:47 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.7/8.14.7) with ESMTP id rACKpg3u086603; Tue, 12 Nov 2013 22:51:42 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.8.3 kib.kiev.ua rACKpg3u086603 Received: (from kostik@localhost) by tom.home (8.14.7/8.14.7/Submit) id rACKpgjI086602; Tue, 12 Nov 2013 22:51:42 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 12 Nov 2013 22:51:42 +0200 From: Konstantin Belousov To: Justin Hibbits Subject: Re: Strange panic on ppc64 Message-ID: <20131112205142.GY59496@kib.kiev.ua> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bNm70WCgfOzpu7dt" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22 (2013-10-16) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: FreeBSD PowerPC ML X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Nov 2013 20:51:48 -0000 --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--