From owner-freebsd-hackers@FreeBSD.ORG Thu Sep 25 19:29:23 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BABDE106568C; Thu, 25 Sep 2008 19:29:23 +0000 (UTC) (envelope-from freebsd-hackers@wheelhouse.org) Received: from mail.nearlyfreespeech.net (x1.phxe.nearlyfreespeech.net [208.94.116.235]) by mx1.freebsd.org (Postfix) with ESMTP id 91BA28FC12; Thu, 25 Sep 2008 19:29:23 +0000 (UTC) (envelope-from freebsd-hackers@wheelhouse.org) Received: from [10.0.1.201] (78.193.33.65.cfl.res.rr.com [65.33.193.78]) by mail.nearlyfreespeech.net (Postfix) with ESMTPSA id 10A7CEBC1C; Thu, 25 Sep 2008 12:29:21 -0700 (MST) Message-Id: <61B6EB36-0E0C-4FFA-A84B-B434050B6244@wheelhouse.org> From: Jeff Wheelhouse To: John Baldwin In-Reply-To: <200809250845.06042.jhb@freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Date: Thu, 25 Sep 2008 15:29:20 -0400 References: <200809241234.55075.jhb@freebsd.org> <57DCDBC7-8542-4082-8893-5B96DA92DA9A@wheelhouse.org> <200809250845.06042.jhb@freebsd.org> X-Mailer: Apple Mail (2.929.2) Cc: freebsd-hackers@freebsd.org Subject: Re: panic: lockmgr on FreeBSD 7.0-RELEASE-p4 amd64 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2008 19:29:23 -0000 On Sep 25, 2008, at 8:45 AM, John Baldwin wrote: > It's probably the one just before the NDINIT (note that the return > address in > the call stack is pointing to the next instruction to be executed > after the > call to VOP_UNLOCK(), so sometimes it can end up referring to the > next line > in the source code from the actual function call): Seems like we're six or seven lines of source down, not on the next line, which was the source of my confusion. But if you're not confused, I won't be. :) > Can you 'p *mp'? I'm curious if mp->mnt_vnodecovered is NULL (in > which case, > why didn't the two tests in the if() fail?) Apparently I can't; we're stuck with DDB since we can't get a crash dump and the serial console goes to a hardware terminal server. I'm afraid I'm not quite clever enough to find the right data structure without symbols. I could try to throw a printf in there, or add a panic if mp- >mt_vnodecovered is NULL, if you think that would help. The printf will probably significantly alter timings, so I might need some guidance as far as what to print, and under what conditions. Thanks, Jeff