Date: Wed, 30 Jun 1999 01:13:06 +0800 From: Peter Wemm <peter@netplex.com.au> To: Andrzej Bialecki <abial@webgiro.com> Cc: freebsd-current@freebsd.org Subject: Re: Panic in vm_page_zero_idle Message-ID: <19990629171306.122DB82@overcee.netplex.com.au> In-Reply-To: Your message of "Tue, 29 Jun 1999 15:13:17 %2B0200." <Pine.BSF.4.05.9906291506290.45915-100000@freja.webgiro.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrzej Bialecki wrote: > Hi, > > Sources are from yesterday, machine is Toshiba Portege 7020CT. During make > -j24 buildworld machine dies with the following panic mesage (notice > absence of register dump): > > kernel: type 12 trap, code=0 > Stopped at vm_page_zero_idle+0xc9: movl %eax,0x4(%edx) > > db> tr > vm_page_zero_idle(e,66a,2,183f9ff,756e6547) at vm_page_zero_idle+0xc9 > idle_loop() at idle_loop+0x2d That's because there is no process context at this point, and nowhere the registers are saved for the idle ``context''. Trap 12 is a page fault. Do a 'show registers' to see what's up. I would like to know what %edx is. It's trapping here: m = vm_page_list_find(PQ_FREE, free_rover, FALSE); if (m != NULL && (m->flags & PG_ZERO) == 0) { --(*vm_page_queues[m->queue].lcnt); TAILQ_REMOVE(vm_page_queues[m->queue].pl, m, pageq); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ m->queue = PQ_NONE; splx(s); Specifically, vm_page_queues[m->queue].pl is invalid or the tailq corrupt or something evil along those lines. Or, m->queue is bogus and causing an out of bounds array lookup. Hmm, do a show registers and record %eax at this point too. Cheers, -Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990629171306.122DB82>