NetBSD Problem Report #47817

From nick@zoom.localdomain  Wed May 15 08:07:55 2013
Return-Path: <nick@zoom.localdomain>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	by www.NetBSD.org (Postfix) with ESMTP id 2782663F099
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 15 May 2013 08:07:55 +0000 (UTC)
Message-Id: <20130515065159.54D4753F65@zoom.localdomain>
Date: Wed, 15 May 2013 07:51:59 +0100 (BST)
From: nick.hudson@gmx.co.uk
Reply-To: nick.hudson@gmx.co.uk
To: gnats-bugs@NetBSD.org
Subject: procfs related panic
X-Send-Pr-Version: 3.95

>Number:         47817
>Category:       kern
>Synopsis:       procfs related panic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 15 08:10:01 +0000 2013
>Last-Modified:  Mon Oct 07 03:10:01 +0000 2013
>Originator:     Nick Hudson
>Release:        NetBSD 6.99.19
>Organization:
	N/A
>Environment:
System: NetBSD zoom 6.99.19 NetBSD 6.99.19 (GENERIC) #3: Sun May 5 11:38:19 BST 2013 nick@zoom:/wrk/obj/amd64/usr/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:

panic: kernel diagnostic assertion "vp->v_usecount != 0" failed: file "/usr/src/sys/kern/vfs_vnode.c", line 924 
cpu0: Begin traceback...
vpanic() at netbsd:vpanic+0x136
kern_assert() at netbsd:kern_assert+0x48
vref() at netbsd:vref+0x7e
getcwd_common() at netbsd:getcwd_common+0x6a
procfs_dir.clone.0() at netbsd:procfs_dir.clone.0+0xcd
procfs_readlink() at netbsd:procfs_readlink+0x172
VOP_READLINK() at netbsd:VOP_READLINK+0x37
namei_tryemulroot() at netbsd:namei_tryemulroot+0x965
namei() at netbsd:namei+0x2b
fd_nameiat.clone.0() at netbsd:fd_nameiat.clone.0+0x54
do_sys_accessat() at netbsd:do_sys_accessat+0xbd
syscall() at netbsd:syscall+0x94
--- syscall (number 33) ---
7f7ff3eacd9a:

>How-To-Repeat:
	Do stuff.

>Fix:
	yes please.

>Release-Note:

>Audit-Trail:

From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/47817: procfs related panic
Date: Mon, 7 Oct 2013 03:07:09 +0000

 On Wed, May 15, 2013 at 08:10:01AM +0000, nick@zoom.localdomain wrote:
  > panic: kernel diagnostic assertion "vp->v_usecount != 0" failed: file "/usr/src/sys/kern/vfs_vnode.c", line 924 

 This panic means that a vnode with no references has been vref'd,
 which you aren't supposed to do (it requires vget instead). I think
 either this is a manifestation of one of the vnode lifecycle
 conditions that hannken@ fixed recently (the one where vget could in
 some circumstances return a blank vnode) ... or it indicates a
 vnode refcounting problem in mounts or cwd/chroot logic. The latter is
 possible of course but doesn't seem too likely.

 Since the call chain goes through procfs_readlink and procfs_dir, the
 vnode it's tripping on must be the target process's current dir, root
 dir, or executable image... or a mount point getcwd crosses while
 getcwd'ing one of these. It can't be a procfs vnode, as procfs refuses
 to do that. (See PR 40549.)

 I suspect it's the blank vnode issue and that this problem will be no
 longer reproducible -- was it ever reproducible?

 Another option is that it's somehow a manifestation of the same
 problem as 40549, but I don't immediately see how.

 -- 
 David A. Holland
 dholland@netbsd.org

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.