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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to