Subject: i386 pmap uvm object dangling pages KASSERT panic
To: None <current-users@netbsd.org>
From: Antti Kantee <pooka@cs.hut.fi>
List: current-users
Date: 04/24/2007 01:05:26
I just had one of these with a ~month old kernel:
#9 0xc03e3e01 in pmap_destroy (pmap=0xcc6ea04c)
at /usr/allsrc/src/sys/arch/i386/i386/pmap.c:1656
1656 KASSERT(pmap->pm_obj.uo_npages == 0);
#9 0xc03e3e01 in pmap_destroy (pmap=0xcc6ea04c)
at /usr/allsrc/src/sys/arch/i386/i386/pmap.c:1656
#10 0xc03e3f5c in pmap_load ()
at /usr/allsrc/src/sys/arch/i386/i386/pmap.c:1942
#11 0xc010c5de in calltrap ()
#12 0x00000017 in ?? ()
I had just finished updating the kernel sources and typed "make"
(in the wrong directory, though ;).
Any idea if this is fixed and what should I look for in the dump?
(gdb) print *pmap
$1 = {pm_obj = {vmobjlock = {lock_data = 0 '\0', lock_pad = "ŸÞ"},
pgops = 0x0, memq = {tqh_first = 0xc23bc4c0, tqh_last = 0xc23bc4d0},
uo_npages = 1, uo_refs = 0}, pm_list = {le_next = 0xcc6eab48,
le_prev = 0xcc6ea4d8}, pm_pdir = 0xd193c000, pm_pdirpa = 1198936064,
pm_ptphint = 0xc23bc4c0, pm_stats = {resident_count = 4, wired_count = 0},
pm_hiexec = 0, pm_flags = 0, pm_ldt = 0x0, pm_ldt_len = 0, pm_ldt_sel = 40,
pm_cpus = 0}
--
Antti Kantee <pooka@iki.fi> Of course he runs NetBSD
http://www.iki.fi/pooka/ http://www.NetBSD.org/
"la qualité la plus indispensable du cuisinier est l'exactitude"