Skip site navigation (1)Skip section navigation (2)
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>