From owner-freebsd-current Tue May 19 08:43:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA09776 for freebsd-current-outgoing; Tue, 19 May 1998 08:43:48 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from home.dragondata.com (toasty@home.dragondata.com [204.137.237.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA09738 for ; Tue, 19 May 1998 08:43:38 -0700 (PDT) (envelope-from toasty@home.dragondata.com) Received: (from toasty@localhost) by home.dragondata.com (8.8.8/8.8.5) id KAA00412; Tue, 19 May 1998 10:43:27 -0500 (CDT) From: Kevin Day Message-Id: <199805191543.KAA00412@home.dragondata.com> Subject: Re: SMP related panic on reboot In-Reply-To: <199805141615.SAA21189@pat.idi.ntnu.no> from Tor Egge at "May 14, 98 06:15:46 pm" To: Tor.Egge@idi.ntnu.no (Tor Egge) Date: Tue, 19 May 1998 10:43:27 -0500 (CDT) Cc: current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This patch appears to work - can anyone else test it? Kevin > > > > I booted a machine, realized I had forgotten something, and rebooted it > > instantly after it was done booting.. It panic'ed during the reboot. This is > > a kernel from ~Feb 25th. > > > > Any questions/ideas? > > > > > > boot() called on cpu#0 > > > > syncing disks... 3 3 3 1 done > > panic: lockmgr: pid 195, not exclusive lock holder 1 unlocking > > The following patch might help. > > Index: vfs_subr.c > =================================================================== > RCS file: /home/ncvs/src/sys/kern/vfs_subr.c,v > retrieving revision 1.152 > diff -u -r1.152 vfs_subr.c > --- vfs_subr.c 1998/04/19 23:32:03 1.152 > +++ vfs_subr.c 1998/04/24 23:42:45 > @@ -2149,9 +2159,13 @@ > vfs_unmountall() > { > struct mount *mp, *nmp; > - struct proc *p = initproc; /* XXX XXX should this be proc0? */ > + struct proc *p; > int error; > > + if (curproc) > + p = curproc; > + else > + p = initproc; /* XXX XXX should this be proc0? */ > /* > * Since this only runs when rebooting, it is not interlocked. > */ > > > - Tor Egge > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message