Subject: Re: netbsd 4.0 beta2 crashes when swapping
To: Todd Kover <kovert@omniscient.com>
From: Pavel Cahyna <pavel@NetBSD.org>
List: port-i386
Date: 05/14/2007 22:20:02
On Sun, May 06, 2007 at 07:01:50PM -0400, Todd Kover wrote:
> 
>  > > Most of the time I was running X, so no debugger, but the one time
>  > > I was not, I had a kernel message:
>  > >
>  > >    uvm_fault(0xc0a534c, 0xf0000, 2) -> 0xe
>  >
>  > Is this all? 
> 
> at the time, that was all I got and the machine was wedged.  Since then,
> I've been occasionally able to get it to kick into ddb and get a dump
> (by gzcat'ing a crash dump, actually so no X), but the kernel was not
> built with -g / DEBUG, so not terribly useful.
> 
>  > i think it should print also something like
>  > kernel: page fault trap, code=0 
>  > Stopped at netbsd:<function name>+<address>: <assembly code>
> 
> The most recent time I forced a crash and got into ddb, I got:
> 
> uvm_fault(0xc09ff800, 0xf000, 1) -> 0xe
> kernel: supervisor trap page fault, code=0
> Stopped in pid 17.1 (pagedaemon) at 0xffff: invalid address
> db>
> 
> A bt or trace gave me a DDB Fault and no useful information.  In gdb, I got:
> 
> (gdb) target kvm netbsd.3.core
> #0  0xc04d8eb6 in cpu_reboot ()
> (gdb) where
> #0  0xc04d8eb6 in cpu_reboot ()
> #1  0xc01bdddf in db_sync_cmd ()
> #2  0xc01be2d0 in db_command ()
> #3  0xc01be688 in db_command_loop ()
> #4  0xc01c1481 in db_trap ()
> #5  0xc04d500f in kdb_trap ()
> #6  0xc04e1c5b in trap ()
> #7  0xc010b0c3 in calltrap ()
> #8  0xc0430010 in sysctl_proc_stop ()
> #9  0xc044abc5 in pool_drain ()
> #10 0xc03ec98f in uvm_pageout ()
> #11 0xc01002e1 in proc_trampoline ()

What will happen if you enter ddb from console and execute pool_drain
manually, both with the bad and the good kernel?

("call pool_drain(0)" at the ddb prompt)

Pavel