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