From owner-freebsd-stable Mon Jul 2 16:56: 4 2001 Delivered-To: freebsd-stable@freebsd.org Received: from midten.fast.no (midten.fast.no [213.188.8.11]) by hub.freebsd.org (Postfix) with ESMTP id BFF6637B403 for ; Mon, 2 Jul 2001 16:55:58 -0700 (PDT) (envelope-from Tor.Egge@fast.no) Received: from fast.no (IDENT:tegge@midten.fast.no [213.188.8.11]) by midten.fast.no (8.9.3/8.9.3) with ESMTP id BAA02807; Tue, 3 Jul 2001 01:55:55 +0200 (CEST) Message-Id: <200107022355.BAA02807@midten.fast.no> To: ohartman@klima.physik.uni-mainz.de Cc: freebsd-stable@FreeBSD.ORG Subject: Re: HELP! Server crashes since last cvsupdate! From: Tor.Egge@fast.no In-Reply-To: Your message of "Mon, 2 Jul 2001 10:54:43 +0200 (CEST)" References: X-Mailer: Mew version 1.70 on Emacs 19.34.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Tue_Jul__3_01:53:38_2001)--" Content-Transfer-Encoding: 7bit Date: Tue, 03 Jul 2001 01:55:55 +0200 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ----Next_Part(Tue_Jul__3_01:53:38_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit > Hello. > > Since our last update Friday, 29th June, both SMP machines run > into a "stuck" condition after a while. This happened now two times > and I do not know what happens. I updated one machine from a 22th June -stable kernel and immediately got a 'hang' at boot when starting sendmail. Breaking out to ddb showed the following backtrace. db> trace SMP_breakpoint(c44d4c00,c46d3200,0,c0273d5b,f0f60) at SMP_breakpoint+0x1e siointr1(c44d4c00,c03c3008,0,e6442f3c,c027258a) at siointr1+0x13d siointr(c44d4c00) at siointr+0x17 Xfastintr4(c46d3200,0,e6442f58,c01ac825,e6442f90) at Xfastintr4+0x2a vop_noislocked(e6442f90,e6442f9c,c01af24b,e6442f90,0) at vop_noislocked+0x19 vop_defaultop(e6442f90) at vop_defaultop+0x15 sched_sync(0) at sched_sync+0xaf fork_trampoline() at fork_trampoline+0x30 The machine hung in lockstatus (called from vop_noislocked) trying to obtain the interlock of what lockstatus believed to be a struct lock but wasn't. A suggested fix is enclosed. - Tor Egge ----Next_Part(Tue_Jul__3_01:53:38_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Index: sys/ufs/mfs/mfs_vfsops.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/mfs/Attic/mfs_vfsops.c,v retrieving revision 1.81.2.1 diff -u -2 -r1.81.2.1 mfs_vfsops.c --- sys/ufs/mfs/mfs_vfsops.c 2001/06/17 05:05:00 1.81.2.1 +++ sys/ufs/mfs/mfs_vfsops.c 2001/07/02 23:28:25 @@ -249,4 +249,5 @@ addaliasu(devvp, makeudev(253, mfs_minor++)); devvp->v_data = mfsp; + lockinit(&mfsp->mfs_lock, PVFS, "mfslck", 0, LK_NOPAUSE); mfsp->mfs_baseoff = args.base; mfsp->mfs_size = args.size; Index: sys/ufs/mfs/mfsnode.h =================================================================== RCS file: /home/ncvs/src/sys/ufs/mfs/Attic/mfsnode.h,v retrieving revision 1.12 diff -u -2 -r1.12 mfsnode.h --- sys/ufs/mfs/mfsnode.h 1999/08/28 00:52:26 1.12 +++ sys/ufs/mfs/mfsnode.h 2001/07/02 23:28:25 @@ -43,4 +43,5 @@ struct mfsnode { + struct lock mfs_lock; struct vnode *mfs_vnode; /* vnode associated with this mfsnode */ caddr_t mfs_baseoff; /* base of file system in memory */ ----Next_Part(Tue_Jul__3_01:53:38_2001)---- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message