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