Re: Fatal trap 12: page fault while in kernel mode [SEC=UNCLASSIFIED]

From: John Baldwin <jhb_at_freebsd.org>
Date: Thu, 7 Jan 2010 09:35:52 -0500
On Thursday 07 January 2010 3:39:40 am Wilkinson, Alex wrote:
> 
>     0n Wed, Jan 06, 2010 at 10:44:34AM +0800, Wilkinson, Alex wrote: 
> 
>     >    0n Tue, Jan 05, 2010 at 08:28:49AM -0500, John Baldwin wrote: 
>     >
>     >    >Are you able to get a crashdump and examine it with kgdb?
>     >
>     >rebuilt world+kernel and overwrote kernel.debug :(
>     >when it happens again I will get a bt from kgdb(1).
> 
> OK, from: FreeBSD 9.0-CURRENT #3 r201546: Tue Jan  5 15:51:52 WST 2010
> 
>    (kgdb) bt
>    #0  doadump () at pcpu.h:246
>    #1  0xc04d07a9 in db_fncall (dummy1=1596, dummy2=0, dummy3=-1060595728, dummy4=0xe8878840 "") at /usr/src/sys/ddb/db_command.c:548
>    #2  0xc04d0ba1 in db_command (last_cmdp=0xc0dc09fc, cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:445
>    #3  0xc04d0cfa in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
>    #4  0xc04d2b9d in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:229
>    #5  0xc08befe6 in kdb_trap (type=12, code=0, tf=0xe8878a2c) at /usr/src/sys/kern/subr_kdb.c:535
>    #6  0xc0bc641f in trap_fatal (frame=0xe8878a2c, eva=3292909680) at /usr/src/sys/i386/i386/trap.c:927
>    #7  0xc0bc6d0c in trap (frame=0xe8878a2c) at /usr/src/sys/i386/i386/trap.c:328
>    #8  0xc0ba8beb in calltrap () at /usr/src/sys/i386/i386/exception.s:165
>    #9  0xc0b04452 in vm_reserv_alloc_page (object=0xc207c000, pindex=28795) at /usr/src/sys/vm/vm_reserv.c:320
>    #10 0xc0afd98e in vm_page_alloc (object=0xc207c000, pindex=28795, req=64) at /usr/src/sys/vm/vm_page.c:1081
>    #11 0xc0aec0d5 in vm_fault (map=0xc686fae0, vaddr=819982336, fault_type=2 '\002', fault_flags=Variable "fault_flags" is not available.
>    ) at /usr/src/sys/vm/vm_fault.c:399
>    #12 0xc0bc657d in trap_pfault (frame=0xe8878d38, usermode=1, eva=819982340) at /usr/src/sys/i386/i386/trap.c:828
>    #13 0xc0bc6e30 in trap (frame=0xe8878d38) at /usr/src/sys/i386/i386/trap.c:401
>    #14 0xc0ba8beb in calltrap () at /usr/src/sys/i386/i386/exception.s:165
>    #15 0x2834ec95 in ?? ()
>    Previous frame inner to this frame (corrupt stack?)
>    (kgdb) up 11
>    #11 0xc0aec0d5 in vm_fault (map=0xc686fae0, vaddr=819982336, fault_type=2 '\002', fault_flags=Variable "fault_flags" is not available.
>    ) at /usr/src/sys/vm/vm_fault.c:399
>    399					fs.m = vm_page_alloc(fs.object, fs.pindex,
>    (kgdb) 

Can you go to frame 9 and do 'p rv', 'p mpred', and 'p *mpred'?  Can you also do 'p vm_reserv_array'

-- 
John Baldwin
Received on Thu Jan 07 2010 - 14:28:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC