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>
