Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Sep 2002 13:19:42 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Martin Blapp <mb@imp.ch>
Cc:        current@FreeBSD.org, julian@FreeBSD.org
Subject:   RE: kernel trap 12, pagefault (KSE problems ?)
Message-ID:  <XFMail.20020913131942.jhb@FreeBSD.org>
In-Reply-To: <20020913173318.S3162-100000@levais.imp.ch>

next in thread | previous in thread | raw e-mail | index | archive | help

On 13-Sep-2002 Martin Blapp wrote:
> 
> John,
> 
>> Martin, please include the _actual_ panic messages.  We really need those
>> to figure out what is happening.  Also, what is in the earlier frames?
> 
> I don't know how I can get the actual panic message. ( panic: bwrite: buffer is
> not busy happened after the page fault.)
> 
> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0x2000018
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc0337a39
> stack pointer           = 0x10:0xe98fb958
> frame pointer           = 0x10:0xe98fb968
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 93689 (find)
> trap number             = 12
> panic: page fault

This is the actual message.  The 'fault virtual address' is quite
important in these types of panics.

>#11 0xc022c5b3 in panic () at /usr/src/sys/kern/kern_shutdown.c:493
>#12 0xc03aca7e in trap_fatal (frame=0xe98fb918, eva=33554456) at
> /usr/src/sys/i386/i386/trap.c:846
>#13 0xc03ac6b5 in trap_pfault (frame=0xe98fb918, usermode=0, eva=33554456) at
> /usr/src/sys/i386/i386/trap.c:760
>#14 0xc03ac09c in trap (frame=
>       {tf_fs = -850853864, tf_es = 16, tf_ds = -376504304, tf_edi = 134590208,
> tf_esi = 134590288, tf_ebp = -376456856, tf_isp =
> -376456892, tf_ebx = -872048640, tf_edx = 33554432, tf_ecx = -826798848, tf_eax
> = 9138351, tf_trapno = 12, tf_err = 0, tf_eip = -1070368199, tf_cs = 8,
> tf_eflags = 66054, tf_esp = -1070371830, tf_ss = 1}) at
> /usr/src/sys/i386/i386/trap.c:446
>#15 0xc039b2f8 in calltrap () at /var/tmp//cciyCklS.s:98
>#16 0xc033ecc4 in softdep_load_inodeblock (ip=0xceb80d00) at
> /usr/src/sys/ufs/ffs/ffs_softdep.c:4578

So we dereferenced a pointer at 0x2000018.  However, we did it at 0xc0337a39
which isn't in the backtrace (I think gdb eats a frame, backtraces in ddb are
better).  Can you do 'l *0xc0337a39' to get the line of the actual panic? 

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020913131942.jhb>