From owner-freebsd-current@FreeBSD.ORG Thu Jan 31 13:02:14 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBA2016A469; Thu, 31 Jan 2008 13:02:14 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.freebsd.org (Postfix) with ESMTP id 1E0DF13C4E7; Thu, 31 Jan 2008 13:02:13 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.4) with ESMTP id m0VD2B2j037528; Thu, 31 Jan 2008 16:02:11 +0300 (MSK) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.4/Submit) id m0VD2A6t037527; Thu, 31 Jan 2008 16:02:10 +0300 (MSK) (envelope-from yar) Date: Thu, 31 Jan 2008 16:02:10 +0300 From: Yar Tikhiy To: Attilio Rao Message-ID: <20080131130210.GA37090@comp.chem.msu.su> References: <479BBDAA.6000008@FreeBSD.org> <3bbf2fe10801261657x7d7c9de4q71adeaf3a2dd8159@mail.gmail.com> <479C0B5B.9030709@FreeBSD.org> <3bbf2fe10801270642m5ec609d8xb29add77ced36d8a@mail.gmail.com> <479FA3E8.10606@FreeBSD.org> <3bbf2fe10801291411v302dd33at54ebe538397e8fac@mail.gmail.com> <20080130130820.GA88429@comp.chem.msu.su> <3bbf2fe10801300707u3fd121c0k199605c2f0be6cbf@mail.gmail.com> <790a9fff0801301352xa91a69ci3f08488dfcfc982@mail.gmail.com> <3bbf2fe10801310243tddedfeckbc4c94be87f0a4ca@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3bbf2fe10801310243tddedfeckbc4c94be87f0a4ca@mail.gmail.com> User-Agent: Mutt/1.5.9i Cc: Kostik Belousov , Scot Hetzel , freebsd-current@freebsd.org, Doug Barton Subject: Re: panic: System call lstat returning with 1 locks held X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 13:02:15 -0000 On Thu, Jan 31, 2008 at 11:43:10AM +0100, Attilio Rao wrote: > > The assertion failing should not happen now. > Could you please hand-add a check in _lockmgr_disown() > (kern/kern_lock.c) in order to check for the panicstr before to call > WITNESS? I cannot access to perforce now and produce a suitable diff, > so you can just do this by hand: > > if (lkp->lk_lockholder == td) { > if (panicstr != NULL) > WITNESS_UNLOCK(&lkp->lk_object, LOP_EXCLUSIVE, file, line); > td->td_locks--; > } Shouldn't the test for panicstr be inverse: `panicstr == NULL'? I guess we shouldn't call WITNESS when panicing, should we? Sorry if I got it wrong. -- Yar