Date: Fri, 1 Mar 2002 17:50:32 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Kris Kennaway <kris@obsecurity.org>, Ian Dowse <iedowse@maths.tcd.ie>, Kirk McKusick <mckusick@mckusick.com>, Finch <dot@dotat.at>, fs@FreeBSD.ORG, fanf@chiark.greenend.org.uk Subject: Re: UFS panic on -stable Message-ID: <200203020150.g221oWS48392@apollo.backplane.com> References: <200202260141.g1Q1f8i28365@beastie.mckusick.com> <200202260237.aa51774@salmon.maths.tcd.ie> <20020226184340.A78562@xor.obsecurity.org> <20020228135233.B5586@xor.obsecurity.org> <20020301173740.A21179@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:One of the other machines panicked today; it wasn't even under load at
:the time (last reported load average was 0.00). A different panic
:this time (I've seen it before, but I couldn't get a crashdump that
:time).
:
:A common thread in all of these panics is that they all seem to
:involve operations on MFS filesystems. Even though the two UFS disk
:filesystems on the clients have the most read/write load, I don't
:think I've seen a panic involving them.
:
:/var: bad dir ino 24 at offset 0: mangled entry
:panic: ufs_dirbad: bad dir
:Debugger("panic")
:Stopped at Debugger+0x35: movb $0,in_Debugger.426
:db>
:
:Here's the backtrace.
I wonder if this has anything to do with MFS's VM pages getting
paged in and out.
Could you try hacking mount_mfs to mlock() the MFS memory? As
shown below. I'm not entirely sure this will actually do anything,
but it's worth a shot (assuming you have enough memory to cover all
your MFS mounted filesystems).
If this does the trick I'll take a look at the way MFS accesses
the process's VM space. If it doesn't at least we will know it
isn't related to MFS's paging.
-Matt
Index: mkfs.c
===================================================================
RCS file: /home/ncvs/src/sbin/newfs/mkfs.c,v
retrieving revision 1.29.2.6
diff -u -r1.29.2.6 mkfs.c
--- mkfs.c 21 Sep 2001 19:15:21 -0000 1.29.2.6
+++ mkfs.c 2 Mar 2002 01:49:33 -0000
@@ -236,6 +236,8 @@
0);
if(membase == MAP_FAILED)
err(12, "mmap");
+ mlock(membase, fssize * sectorsize);
+ bzero(membase, fssize * sectorsize);
close(fd);
} else {
#ifndef STANDALONE
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203020150.g221oWS48392>
