From owner-freebsd-current@FreeBSD.ORG Wed Aug 10 06:11:22 2005 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A90C216A421; Wed, 10 Aug 2005 06:11:22 +0000 (GMT) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 20F2E43D67; Wed, 10 Aug 2005 06:11:15 +0000 (GMT) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.13.3/8.13.3) with ESMTP id j7A6B6qf099212; Tue, 9 Aug 2005 23:11:10 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <200508100611.j7A6B6qf099212@gw.catspoiler.org> Date: Tue, 9 Aug 2005 23:11:06 -0700 (PDT) From: Don Lewis To: kan@FreeBSD.org In-Reply-To: <20050809235550.GA8692@freefall.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Cc: freebsd-current@FreeBSD.org, thierry@herbelot.com Subject: Re: panic: lock (sleep mutex) vnode interlock not locked 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: Wed, 10 Aug 2005 06:11:23 -0000 On 9 Aug, Alexander Kabaev wrote: > On Tue, Aug 09, 2005 at 10:33:12PM +0200, Thierry Herbelot wrote: >> Hello, >> >> I'm seeing the above panic on two machines (SMP BP6 and a notebook) with >> recent -Current (certainly "heisenbug" : the same kernel runs happily on the >> notebook). >> The panic log on the SMP machine follows. >> >> TfH > > > Hi, > > could you try an patch below? > > Index: vfs_subr.c > =================================================================== > RCS file: /home/ncvs/src/sys/kern/vfs_subr.c,v > retrieving revision 1.638 > diff -u -r1.638 vfs_subr.c > --- vfs_subr.c 6 Aug 2005 01:42:03 -0000 1.638 > +++ vfs_subr.c 9 Aug 2005 23:51:44 -0000 > @@ -2333,10 +2333,8 @@ > /* > * Don't vgonel if we're already doomed. > */ > - if (vp->v_iflag & VI_DOOMED) { > - VI_UNLOCK(vp); > + if (vp->v_iflag & VI_DOOMED) > return; > - } > vp->v_iflag |= VI_DOOMED; > /* > * Check to see if the vnode is in use. If so, we have to call I also noticed this inconsistency in vgonel() a couple hours ago and made exactly the same change in my local source. No problems so far, but I suspect this bug is difficult to trigger. It's been present in the code for a couple of months. The same problem is present in RELENG_6, so this fix is probably a MFC candidate for 6.0.