NetBSD Problem Report #49948

From kardel@pip.acrys.com  Sat Jun  6 22:02:18 2015
Return-Path: <kardel@pip.acrys.com>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 2A041A65C3
	for <gnats-bugs@gnats.NetBSD.org>; Sat,  6 Jun 2015 22:02:18 +0000 (UTC)
Message-Id: <201506062201.t56M1op1002322@pip.acrys.com>
Date: Sun, 7 Jun 2015 00:01:50 +0200 (CEST)
From: kardel@netbsd.org
Reply-To: kardel@netbsd.org
To: gnats-bugs@NetBSD.org
Subject: quota panic
X-Send-Pr-Version: 3.95

>Number:         49948
>Category:       kern
>Synopsis:       quota panic
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    hannken
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 06 22:05:00 +0000 2015
>Closed-Date:    Fri Jul 17 08:22:39 +0000 2015
>Last-Modified:  Fri Jul 17 08:22:39 +0000 2015
>Originator:     Frank Kardel
>Release:        NetBSD 7.99.16
>Organization:
>Environment:
System: NetBSD pip.kardel.name 7.99.16 NetBSD 7.99.16 (PIPGEN) #10: Thu Jun 4 11:42:21 CEST 2015 kardel@xxx:/fs/raid1a/src/NetBSD/cur/src/obj.amd64/sys/arch/amd64/compile/PIPGEN amd64
Architecture: x86_64
Machine: amd64
>Description:
	Setup:
		enable user and group quotas in a wapbl ufs 2 file system (on raid)
		let fsck create the required quota files
		Access mainly via a null mount
	Mounts:
		/dev/dk19 on /fs/raid2a type ffs (log, local, fsid: 0xa813/0x78b, reads: sync 2664 async 0, writes: sync 0 async 542)
		/fs/raid2a/home on /home type null (local, fsid: 0xc02/0x1d0c, reads: sync 0 async 0, writes: sync 0 async 0)
	Effect:
		on removeat(2) following panic occurs:
			panic: kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)" failed: file "/fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_wapbl.c", line 1715

	Symptoms:
(gdb) bt
#0  0xffffffff80689365 in cpu_reboot (howto=howto@entry=260, bootstr=bootstr@entry=0x0) at /fs/raid1a/src/NetBSD/cur/src/sys/arch/amd64/amd64/machdep.c:671
#1  0xffffffff808cbf94 in vpanic (fmt=0xffffffff80d155e8 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ", ap=ap@entry=0xfffffe813b804aa8) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/subr_prf.c:340
#2  0xffffffff80a64a33 in kern_assert (fmt=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/lib/libkern/kern_assert.c:51
#3  0xffffffff809f3851 in wapbl_add_buf (wl=0xfffffe88252ab948, bp=0xfffffe87df848368) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_wapbl.c:1008
#4  0xffffffff809d71bb in bdwrite (bp=0xfffffe87df848368) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_bio.c:924
#5  0xffffffff8095d908 in quota2_bwrite (mp=mp@entry=0xfffffe8822e33008, bp=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/ufs/ufs/ufs_quota2.c:133
#6  0xffffffff8095e8c2 in quota2_check (ip=0xfffffe876f5d0e18, vtype=vtype@entry=1, change=<optimized out>, cred=0xffffffffffffffff, flags=0) at /fs/raid1a/src/NetBSD/cur/src/sys/ufs/ufs/ufs_quota2.c:479
#7  0xffffffff8095ea90 in chkiq2 (ip=<optimized out>, change=<optimized out>, cred=<optimized out>, flags=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/ufs/ufs/ufs_quota2.c:571
#8  0xffffffff8095b388 in chkiq (ip=ip@entry=0xfffffe876f5d0e18, change=change@entry=-1, cred=cred@entry=0xffffffffffffffff, flags=flags@entry=0) at /fs/raid1a/src/NetBSD/cur/src/sys/ufs/ufs/ufs_quota.c:165
#9  0xffffffff80959714 in ufs_inactive (v=0xfffffe813b804c60) at /fs/raid1a/src/NetBSD/cur/src/sys/ufs/ufs/ufs_inode.c:107
#10 0xffffffff80a0713d in VOP_INACTIVE (vp=vp@entry=0xfffffe8821762550, recycle=recycle@entry=0xfffffe813b804c97) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vnode_if.c:1108
#11 0xffffffff809ed6cf in vrelel (vp=0xfffffe8821762550, flags=flags@entry=0) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_vnode.c:728
#12 0xffffffff809ee5d4 in vrele (vp=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_vnode.c:818
#13 0xffffffff806474be in layer_reclaim (v=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/miscfs/genfs/layer_vnops.c:702
#14 0xffffffff80a071a7 in VOP_RECLAIM (vp=vp@entry=0xfffffe8821762428) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vnode_if.c:1136
#15 0xffffffff809ec7b6 in vclean (vp=vp@entry=0xfffffe8821762428) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_vnode.c:1022
#16 0xffffffff809ed780 in vrelel (vp=vp@entry=0xfffffe8821762428, flags=flags@entry=0) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_vnode.c:755
#17 0xffffffff809ee5d4 in vrele (vp=vp@entry=0xfffffe8821762428) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_vnode.c:818
#18 0xffffffff8064733f in layer_remove (v=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/miscfs/genfs/layer_vnops.c:592
#19 0xffffffff80a06c87 in VOP_REMOVE (dvp=0xfffffe881dda0d60, vp=<optimized out>, cnp=cnp@entry=0xfffffe813b804e58) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vnode_if.c:791
#20 0xffffffff809e5f02 in do_sys_unlinkat (l=<optimized out>, fdat=<optimized out>, arg=<optimized out>, flags=<optimized out>, seg=<optimized out>) at /fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_syscalls.c:2715
#21 0xffffffff808e9267 in sy_call (rval=0xfffffe813b804eb8, uap=0xfffffe813b804f00, l=0xfffffe8825bf1340, sy=0xffffffff810d6030 <sysent+240>) at /fs/raid1a/src/NetBSD/cur/src/sys/sys/syscallvar.h:65
#22 sy_invoke (code=10, rval=0xfffffe813b804eb8, uap=0xfffffe813b804f00, l=0xfffffe8825bf1340, sy=0xffffffff810d6030 <sysent+240>) at /fs/raid1a/src/NetBSD/cur/src/sys/sys/syscallvar.h:94
#23 syscall (frame=0xfffffe813b804f00) at /fs/raid1a/src/NetBSD/cur/src/sys/arch/x86/x86/syscall.c:156
#24 0xffffffff80100691 in Xsyscall ()
(gdb) print panicstr
$1 = 0xffffffff81189c60 <scratchstr> "kernel diagnostic assertion \"rw_lock_held(&wl->wl_rwlock)\" failed: file \"/fs/raid1a/src/NetBSD/cur/src/sys/kern/vfs_wapbl.c\", line 1715 "
(db)

>How-To-Repeat:
	see description
>Fix:
	not analyzed

>Release-Note:

>Audit-Trail:
From: "Juergen Hannken-Illjes" <hannken@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/49948 CVS commit: src/sys/ufs/ufs
Date: Wed, 10 Jun 2015 15:28:27 +0000

 Module Name:	src
 Committed By:	hannken
 Date:		Wed Jun 10 15:28:27 UTC 2015

 Modified Files:
 	src/sys/ufs/ufs: ufs_inode.c

 Log Message:
 ufs_inactive: take UFS_WAPBL_BEGIN() before calling chkiq().

 Should fix PR kern/49948 (quota panic)


 To generate a diff of this commit:
 cvs rdiff -u -r1.93 -r1.94 src/sys/ufs/ufs/ufs_inode.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Responsible-Changed-From-To: kern-bug-people->hannken
Responsible-Changed-By: hannken@NetBSD.org
Responsible-Changed-When: Wed, 10 Jun 2015 15:31:40 +0000
Responsible-Changed-Why:
Take.


State-Changed-From-To: open->feedback
State-Changed-By: hannken@NetBSD.org
State-Changed-When: Wed, 10 Jun 2015 15:31:40 +0000
State-Changed-Why:
Commited a fix -- please test with ufs/ufs/ufs_inode.c Rev. 1.94


From: Frank Kardel <kardel@netbsd.org>
To: gnats-bugs@NetBSD.org, kern-bug-people@netbsd.org, 
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: PR/49948 CVS commit: src/sys/ufs/ufs
Date: Sat, 13 Jun 2015 08:41:59 +0200

 Thanks ! I is stable now!
 pullup needed?

 Frank

State-Changed-From-To: feedback->pending-pullups
State-Changed-By: hannken@NetBSD.org
State-Changed-When: Sun, 21 Jun 2015 09:07:09 +0000
State-Changed-Why:
Pullup requested -- ticket #850


From: "Soren Jacobsen" <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/49948 CVS commit: [netbsd-7] src/sys/ufs/ufs
Date: Thu, 16 Jul 2015 21:40:22 +0000

 Module Name:	src
 Committed By:	snj
 Date:		Thu Jul 16 21:40:22 UTC 2015

 Modified Files:
 	src/sys/ufs/ufs [netbsd-7]: ufs_inode.c

 Log Message:
 Pull up following revision(s) (requested by hannken in ticket #850):
 	sys/ufs/ufs/ufs_inode.c: revisions 1.93-1.95
 Release the glock on VOP_GETPAGES failure.
 Tripped over by nick@'s failing disk, missing unlock in error branch
 discovered by jmcneill@.
 --
 ufs_inactive: take UFS_WAPBL_BEGIN() before calling chkiq().
 Should fix PR kern/49948 (quota panic)
 --
 ufs_inactive: stop overwriting error status and return the last error seen.
 Should resolve CID 1306276 (UNUSED_VALUE)


 To generate a diff of this commit:
 cvs rdiff -u -r1.90.2.1 -r1.90.2.2 src/sys/ufs/ufs/ufs_inode.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: pending-pullups->closed
State-Changed-By: hannken@NetBSD.org
State-Changed-When: Fri, 17 Jul 2015 08:22:39 +0000
State-Changed-Why:
Pulled up to -7.


>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-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.