Subject: Re: Crash during shutdown (current 4.99.33)
To: Juraj Hercek <nbsd@hck.sk>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: current-users
Date: 10/16/2007 18:21:54
On Tue, Oct 16, 2007 at 05:58:08PM +0200, Juraj Hercek wrote:
> Hello,
> 
> I've got a crash when doing shutdown:
> 
> Kernel: 4.99.33 built on Oct 14 15:57:29 CEST 2007
> 
> -----
> Done running shutdown hooks.
> Oct 16 16:21:35  syslogd: Exiting on signal 15
> syncing disks... done
> unmounting file systems...
> unmounting /kern (kernfs)...
> unmounting /usr/pkg/etc (<above>:/local/usr/pkg/etc)...
> unmounting /root (<above>:/local/root)...panic: kernel diagnostic 
> assertion "(flags & 
> ~(LK_INTERLOCK|LK_SHARED|LK_EXCLUSIVE|LK_DRAIN|LK_NOWAIT|LK_RETRY| 
> LK_SETRECURSE|LK_CANRECURSE)) == 0" failed: file 
> "/netbsd/src/sys/kern/vfs_vnops.c", line 671
> fatal breakpoint trap in supervisor mode
> trap type 1 code 0 eip c03dcfe9 cs 9 eflags 246 cr2 0 ilevel 0
> Stopped in pid 1529.1 (halt) at netbsd:breakpoint+0x1:  ret  
> db> bt                                                    
> breakpoint(c049c57c,c0459f8b,c049505c,c0495028,29f) at netbsd:breakpoint+0x1
> __kernassert(c0459f8b,c0495028,29f,c049505c,7) at netbsd:__kernassert+0x39 
> vn_lock(cb27a498,800002,cb3029dc,c04f5d80,cb2ea410) at netbsd:vn_lock+0xce

flags == 0x800002 == <LK_RESURRECT LK_EXCLUSIVE>
looks like LK_RESURRECT should be added to the assertion of vn_lock()

> union_lock(cb3029f0,0,cb2ea410,c044f760,cb27a3dc) at netbsd:union_lock+0x13f
> VOP_LOCK(cb27a3dc,810007,3,cb2bbc40,0) at netbsd:VOP_LOCK+0x25             
> vclean(0,0,0,0,cb2ea410) at netbsd:vclean+0x5a               
> vgonel(cb27a3dc,cb2bbc40,cb302a8c,c0397605,cb302a80) at netbsd:vgonel+0x53
> vflush(c0c24000,0,2,c03082c0,0) at netbsd:vflush+0x8c                    
> union_unmount(c0c24000,80000,cb2bbc40,cb2bbc40,c0c2401c) at 
> netbsd:union_unmount
> +0xdf                                                                       
> 
> dounmount(c0c24000,80000,cb2bbc40,0,cb302b38) at netbsd:dounmount+0xac
> vfs_unmountall(cb2bbc40,0,0,c031866d,ca76c230) at netbsd:vfs_unmountall+0xaf
> vfs_shutdown(0,0,0,c0394df1,0) at netbsd:vfs_shutdown+0x8e                 
> cpu_reboot(808,0,0,0,0) at netbsd:cpu_reboot+0x108       
> sys_reboot(cb2bbc40,cb302c48,cb302c68,cb302ce0,bbb9f400) at 
> netbsd:sys_reboot+0x
> 68                                                                          
> 
> syscall_plain() at netbsd:syscall_plain+0x136
> --- syscall (number 208) ---                
> 0xbbaf17a7:                
> db>       

-- 
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)