Date: Thu, 16 Jan 1997 20:17:57 +0100 From: j@uriah.heep.sax.de (J Wunsch) To: spatula@gulf.net (Prisoner) Cc: freebsd-bugs@freefall.freebsd.org Subject: Re: kern/2494: page faults Message-ID: <Mutt.19970116201757.j@uriah.heep.sax.de> In-Reply-To: <199701151330.FAA29407@freefall.freebsd.org>; from Prisoner on Jan 15, 1997 05:30:02 -0800 References: <199701151330.FAA29407@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
As Prisoner wrote:
> The page fault is almost always exactly the same. Here's the debugger
> information from the last (and most common) fault:
>
> fault virtual address = 0x7200c4c
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xf017c4b4
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = trace/trap, interrupt enabled, resume, IOPL=0
> current process = 4 (update)
> interrupt mask =
> kernel: type 12 trap, code=0
> breakpoint at _ffs_update +0xa4: cmpl $0x1,0x52c(%ebx)
>
> It's always within a few instructions to this location.
That's in /sys/ufs/ffs/ffs_inode.c:
int
ffs_update(ap)
struct vop_update_args /* {
struct vnode *a_vp;
struct timeval *a_access;
struct timeval *a_modify;
int a_waitfor;
} */ *ap;
{
[...]
fs = ip->i_fs;
/*
* Ensure that uid and gid are correct. This is a temporary
* fix until fsck has been changed to do the update.
*/
if (fs->fs_inodefmt < FS_44INODEFMT) { /* XXX */
^^^^
here
Maybe this raises a flag for someone? OTOH, if it were a genuine bug
in the code, it should happen reproducibly at the same location, not
just ``somewhere around''...
The fault VA looks suspicious, it's not just a NULL pointer. It's
0x7200c4c - 0x52c = 0x7200720. Looks like trashed memory -- a pointer
has been trashed by repeatedly dumping the short 0x720 over it.
Incidentally, 0x720 is a space in the video frame buffer, with the
default attribute 0x7 (white gray on black).
--
cheers, J"org
joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Mutt.19970116201757.j>
