panic: assertion: pmap->pm_stats.resident_count > 0 in pmap_release_free_page

Matthew Dillon dillon at apollo.backplane.com
Tue Dec 29 19:58:13 PST 2009


:On Tue, Dec 29, 2009 at 10:37:47AM -0800, Matthew Dillon wrote:
:>     Here's a new patch to try.  I added a bunch more assertions to
:>     try to catch it and I also check to make sure PG_ZERO'd pages
:>     are zero (which is expensive but...).
:> 
:> 	fetch http://apollo.backplane.com/DFlyMisc/pmap02.patch
:
:I had to update to the latest source to apply it cleanly.  The backtrace
:seems to remain the same as before.  The kernel and vmcore are at
:~y0netan1/crash/{kern,vmcore}.24.

    It's a bit different.  In this dump I found that for the entry
    that asserted the pv was missing from the vm_page_t's pv list
    but was present in the pmap's list for that va.

    Since the pv is added and removed from both lists in tandem
    that shouldn't be possible.

    So... more debug code in this next patch.  Now I verify that
    the pte being added or removed matches the vm_page_t being
    associated with the pv entry.  Here is the patch:

	fetch http://apollo.backplane.com/DFlyMisc/pmap03.patch


    There is another possibility... it could be actual bad memory,
    or bad timing if you've accelerated your cpus.  Try shifting
    the memory around and detuning the cpu frequency or FSB frequency
    if the BIOS has the ability to do so.  I only give it a 15% chance
    of being the issue.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Bugs mailing list