Subject: kern/5026: vrele: ref cnt -1
To: None <gnats-bugs@gnats.netbsd.org>
From: None <greg@johnny.cs.unlv.edu>
List: netbsd-bugs
Date: 02/20/1998 13:11:22
>Number:         5026
>Category:       kern
>Synopsis:       vrele: ref cnt -1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 20 13:20:00 1998
>Last-Modified:
>Originator:     Greg Wohletz
>Organization:
UNLV
>Release:        1.3
>Environment:
Pentium 120, NetBSD/i386 1.3
System: NetBSD johnny.cs.unlv.edu 1.3 NetBSD 1.3 (UNLVfs) #4: Wed Feb 11 10:54:22 PST 1998 greg@bb.cs.unlv.edu:/sd0/src1/OS/NetBSD/NetBSD-1.3/src/sys/arch/i386/compile/UNLVfs i386


>Description:
	Kernel occasionally panics with ``vrele: ref cnt'' the refcount of
	the vnode being released somehow gets set to -1.  If the DIAGNOSTIC
	check is turned off the system will then panic whenever this vnode
	is reclaimed from the free list.

	The following is a ``bt'' of the corefile:

 #0  0xf079df80 in ?? ()
 #1  0x1686000 in ?? ()
 #2  0xf01b5b8b in cpu_reboot (howto=260, bootstr=0x0)
     at ../../../../arch/i386/i386/machdep.c:1177
 #3  0xf012226a in panic (fmt=0xf0137450 "vrele: ref cnt")
     at ../../../../kern/subr_prf.c:150
 #4  0xf01374a6 in vrele (vp=0xf079a080) at ../../../../kern/vfs_subr.c:869
 #5  0xf0137427 in vput (vp=0xf079a080) at ../../../../kern/vfs_subr.c:847
 #6  0xf01a2d6b in qsync (mp=0xf07a5400) at
 ../../../../ufs/ufs/ufs_quota.c:654
 #7  0xf019890c in ffs_sync (mp=0xf07a5400, waitfor=2, cred=0xf0730900, 
     p=0xf01fc088) at ../../../../ufs/ffs/ffs_vfsops.c:761
 #8  0xf0139079 in sys_sync (p=0xf01fc088, v=0x0, retval=0x0)
     at ../../../../kern/vfs_syscalls.c:492
 #9  0xf01384c4 in vfs_shutdown () at ../../../../kern/vfs_subr.c:1770
 #10 0xf01b5b63 in cpu_reboot (howto=256, bootstr=0x0)
     at ../../../../arch/i386/i386/machdep.c:1164
 #11 0xf012226a in panic (fmt=0xf0137450 "vrele: ref cnt")
     at ../../../../kern/subr_prf.c:150
 #12 0xf01374a6 in vrele (vp=0xf079a080) at ../../../../kern/vfs_subr.c:869
 #13 0xf0171b9c in nfsrv_rename (nfsd=0xf07a1800, slp=0xf072f500, 
     procp=0xf07a5600, mrq=0xf318ae0c) at ../../../../nfs/nfs_serv.c:1931
 #14 0xf0182a12 in nfssvc_nfsd (nsd=0xf318ae50, 
     argp=0x329c <Address 0x329c out of bounds>, p=0xf07a5600)
     at ../../../../nfs/nfs_syscalls.c:626
 #15 0xf018225e in sys_nfssvc (p=0xf07a5600, v=0xf318af88, retval=0xf318af80)
     at ../../../../nfs/nfs_syscalls.c:352
 #16 0xf01b9a04 in syscall (frame={tf_es = 31, tf_ds = 31, tf_edi = -272638092, 
      tf_esi = 16, tf_ebp = -272638164, tf_ebx = 0, tf_edx = -272637968, 
      tf_ecx = -272638472, tf_eax = 155, tf_trapno = 3, tf_err = 2, 
      tf_eip = 1073990691, tf_cs = 23, tf_eflags = 646, tf_esp = -272638332, 
      tf_ss = 31, tf_vm86_es = 0, tf_vm86_ds = 0, tf_vm86_fs = 0, 
      tf_vm86_gs = 0}) at ../../../../arch/i386/i386/trap.c:658

   
    The kernel (with debugging symbols) and the core file can be retreived
    by interested parties at:

	http://www.unlv.edu/~greg/netbsd.gdb
	http://www.unlv.edu/~greg/netbsd.1.core

>How-To-Repeat:
	On a busy fileserver this happens about twice a month, but has in
	the past happened twice in the same day.
>Fix:
	Unknown.
>Audit-Trail:
>Unformatted: