Subject: panic: pmap_alloc_pv: pvpi_nfree off
To: None <port-i386@netbsd.org>
From: None <afeisy@mail.lokmail.net>
List: port-i386
Date: 08/12/2001 15:21:59
Hello,

I'm running NetBSD 1.5.1 on a Pentium 100 with 8 megabytes of ram.
Suddenly, it kernel panicked. To my knowledge, it was doing nothing at all.
There was only one idle ssh session connected and logged in.
The ssh session hung, and the kernel panicked:
(from looking at the files in /var/crash)

panic: pmap_alloc_pv: pvpi_nfree off
>#0  0xc02678de in i386_cpuid_cpus ()
(gdb) bt
>#0  0xc02678de in i386_cpuid_cpus ()
>#1  0x4bf000 in ?? ()
>#2  0xc0217c37 in cpu_reboot ()
>#3  0xc0131273 in panic ()
>#4  0xc021b398 in pmap_enter ()
>#5  0xc0219be6 in pmap_map ()
>#6  0xc02180aa in dumpsys ()

This repeats:

>#7  0xc0217c37 in cpu_reboot ()
>#8  0xc0131273 in panic ()
>#9  0xc021b398 in pmap_enter ()
>#10 0xc0219be6 in pmap_map ()
>#11 0xc02180aa in dumpsys ()

until:

>#207 0xc0217c37 in cpu_reboot ()
>#208 0xc0131273 in panic ()
>#209 0xc021b398 in pmap_enter ()
>#210 0xc0208626 in uvm_fault ()
>#211 0xc021c141 in trap ()
>#212 0xc0100cb1 in calltrap ()
can not access 0xbfbfdbc4, invalid translation (invalid PDE)
can not access 0xbfbfdbc4, invalid translation (invalid PDE)
Cannot access memory at address 0xbfbfdbc4.

This seems to come from /sys/arch/i386/i386/pmap.c:
                pv = pvpage->pvinfo.pvpi_pvfree;
>#ifdef DIAGNOSTIC
                if (pv == NULL)
                        panic("pmap_alloc_pv: pvpi_nfree off");
>#endif
                pvpage->pvinfo.pvpi_pvfree = pv->pv_next;
                pv_nfpvents--;  /* took one from pool */

is this just memory exhaustion?
http://archives.neohapsis.com/archives/openbsd/2001-06/2352.html
is suprisingly similar.

Thanks.