Date: Tue, 03 Jul 2001 01:55:55 +0200 From: Tor.Egge@fast.no To: ohartman@klima.physik.uni-mainz.de Cc: freebsd-stable@FreeBSD.ORG Subject: Re: HELP! Server crashes since last cvsupdate! Message-ID: <200107022355.BAA02807@midten.fast.no> In-Reply-To: Your message of "Mon, 2 Jul 2001 10:54:43 %2B0200 (CEST)" References: <Pine.BSF.4.33.0107021049580.7438-100000@klima.physik.uni-mainz.de>
next in thread | previous in thread | raw e-mail | index | archive | help
----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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107022355.BAA02807>