Subject: Re: 3.99.7 system crashed while shutting down
To: Christos Zoulas <christos@astron.com>
From: Thomas Klausner <wiz@NetBSD.org>
List: current-users
Date: 07/19/2005 01:26:39
On Mon, Jul 11, 2005 at 07:48:20PM +0300, Christos Zoulas wrote:
> It is dying on this line:
> 
> 	dev_t dev = ap->a_vp->v_rdev;
> 
> When it de-references ap->a_vp. Is the vnode pointer corrupted? It will
> be hard to tell without a register dump...

I had the problem again.  Different backtrace, but with
a register dump. Hope this helps.

finger-copied:
uvm_fault (0xcb5c4e04, 0, 0, 1) -> 0xe
kernel page fault trap, code = 0
Stopped in pid 336.1 (mencoder)

bt:
uvm_rb_remove
uvm_unmap_remove
uvm_pagermapout
genfs_getpages
VOP_GETPAGES
ufs_balloc_rage
ffs_write
VOP_WRITE
vn_write
dofilewrite
sys_write
syscall_plain

show reg:
ds 0x10
es 0x10
fs 0x30
gs 0x10
ed 0
es 0xc0db7e34
ebp 0xcb113a40
ebx 0xc0db7e00
ecx 0xc0db7e00
eax 0x150
eip 0xc0304c8b
cs 0x8
eflags 0x10297
esp 0xcb113a58
ss 0x10
netbsd:uvm_rb_remove+0x2f: movl 0x20(%eax),%eax

The crashdump in /var/crash seems broken:
# gdb netbsd
GNU gdb 5.3nb1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...(no debugging symbols found)...
(gdb) target kcore core
can not access 0xcb857834, invalid translation (invalid PTE)
can not access 0xcb857834, invalid translation (invalid PTE)
warning: cannot read switchframe registers
#0  0x00000008 in ?? ()
(gdb) bt
#0  0x00000008 in ?? ()
can not access 0xcb85787c, invalid translation (invalid PTE)
can not access 0xcb85787c, invalid translation (invalid PTE)
Cannot access memory at address 0xcb85787c
(gdb)  

 Thomas