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

John Baldwin jhb at freebsd.org
Fri Jan 8 13:47:18 UTC 2010


On Friday 08 January 2010 1:19:51 am Wilkinson, Alex wrote:
> 
>     0n Thu, Jan 07, 2010 at 09:35:52AM -0500, John Baldwin wrote: 
> 
>     >Can you go to frame 9 and do 'p rv', 'p mpred', and 'p *mpred'?  Can 
you also do 'p vm_reserv_array'
> 
> (kgdb) up 9
> #9  0xc0b04452 in vm_reserv_alloc_page (object=0xc207c000, pindex=28795) at 
/usr/src/sys/vm/vm_reserv.c:320
> 320			if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) {
> (kgdb) p rv
> $1 = 0xc445d060
> (kgdb) p *mpred
> $2 = {pageq = {tqe_next = 0xc75bb360, tqe_prev = 0xc75bb000}, listq = 
{tqe_next = 0xc75bb360, tqe_prev = 0xc8595170}, left = 0xc7612a20, right = 
0xcb721d80, object = 0xc207c000, 
>   pindex = 28989, phys_addr = 3876835328, md = {pv_list = {tqh_first = 0x0, 
tqh_last = 0x0}, pat_mode = 1}, queue = 0 '\0', segind = 0 '\0', flags = 152, 
order = 0 '\0', pool = 0 '\0', 
>   cow = 0, wire_count = 1, hold_count = 0, oflags = 0, act_count = 0 '\0', 
busy = 0 '\0', valid = 255 'ÿ', dirty = 255 'ÿ'}
> (kgdb) p vm_reserv_array
> $3 = 0xc4454000
> (kgdb) 

Can you add a printf to vm_reserv_startup() to print out the size it 
calculates and then boot a kernel with that and reply with the size it 
computes?

-- 
John Baldwin


More information about the freebsd-current mailing list