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:
(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.