From owner-freebsd-fs@FreeBSD.ORG Sun May 19 20:41:04 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DCF75863 for ; Sun, 19 May 2013 20:41:04 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-we0-x232.google.com (mail-we0-x232.google.com [IPv6:2a00:1450:400c:c03::232]) by mx1.freebsd.org (Postfix) with ESMTP id 7C73F949 for ; Sun, 19 May 2013 20:41:04 +0000 (UTC) Received: by mail-we0-f178.google.com with SMTP id q57so4978772wes.9 for ; Sun, 19 May 2013 13:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=T3YbiISdMsBj2Bbx7HYzPm8AB6maWIA9FDXQX3zRjgw=; b=e2hGLqEsLwmRvKj4OXOKobLl8FanLkRYfSLWHYw8jNMPxfb60rflXdh9BM9Ls8ZUVl gK033E2QKnMcjG+Bfeyqs6nbIeNSEkxMWI1Z/Mu0yJ+by9qty33Ng7yVMAva3R6XnrtU aLaIxj73vLdpV9sT+ZC97lu34U9TkxZTrhFQFESfIIi16feCpUSeaRcfXMle2QL6M5T/ F/cIpLQ/SbuvsKiSfTkQ8WEb5qLWRcLwx/Zjtuk2nuUNtRsA0xrkJhgWhQ4EEokE0LdS LQ7JbHBg4KLb2xLrUcefhq3p7Lz0usRJewhEFu4Clc0LxNuqpcuF1pJy+faV2DomfDn8 kwsw== MIME-Version: 1.0 X-Received: by 10.180.37.229 with SMTP id b5mr7871871wik.29.1368996063519; Sun, 19 May 2013 13:41:03 -0700 (PDT) Sender: antoine.brodin.freebsd@gmail.com Received: by 10.194.91.143 with HTTP; Sun, 19 May 2013 13:41:03 -0700 (PDT) Date: Sun, 19 May 2013 20:41:03 +0000 X-Google-Sender-Auth: gctiPMoQgDDm0QhxgtfWo2p3F-w Message-ID: Subject: Nullfs - Panic when umounting and lower fs has been removed From: Antoine Brodin To: freebsd-fs@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 May 2013 20:41:04 -0000 Hi there, I encountered a panic on head today with nullfs using poudriere. It is quite easy to reproduce, the script is probably doing something wrong but panicking is not nice %%% mkdir /tmp/.new_packages /mnt/new_packages mount -t nullfs /tmp/.new_packages /mnt/new_packages dd if=/dev/zero of=/mnt/new_packages/bar count=20000 mv /tmp/.new_packages/bar /tmp/ rm -rf /tmp/.new_packages umount -f /mnt/new_packages %%% The panic: userret: returning with the following locks held: exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0010a77548) locked @ /usr/src/sys/modules/nullfs/../../fs/nullfs/null_vnops.c:615 panic: witness_warn cpuid = 0 KDB: enter: panic db:1:lockinfo> show locks exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0010a77548) locked @ /usr/src/sys/modules/nullfs/../../fs/nullfs/null_vnops.c:615 db:1:locks> show alllocks Process 1032 (umount) thread 0xfffffe0010623920 (100116) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0010a77548) locked @ /usr/src/sys/modules/nullfs/../../fs/nullfs/null_vnops.c:615 db:1:alllocks> show lockedvnods Locked vnodes 0xfffffe0010a774e0: tag ufs, type VDIR usecount 0, writecount 0, refcount 0 mountedhere 0 flags (VI_FREE) v_object 0xfffffe0010af0960 ref 0 pages 0 #0 0xffffffff8088cd59 at __lockmgr_args+0x979 #1 0xffffffff80af4df2 at ffs_lock+0x92 #2 0xffffffff80ce96f9 at VOP_LOCK1_APV+0xf9 #3 0xffffffff81a5f8df at null_lock+0xdf #4 0xffffffff80ce96f9 at VOP_LOCK1_APV+0xf9 #5 0xffffffff8095a836 at _vn_lock+0xc6 #6 0xffffffff8094b681 at vflush+0x3a1 #7 0xffffffff81a5eace at nullfs_unmount+0x2e #8 0xffffffff809436cb at dounmount+0x39b #9 0xffffffff8094330b at sys_unmount+0x37b #10 0xffffffff80c41322 at amd64_syscall+0x282 #11 0xffffffff80c2981b at Xfast_syscall+0xfb db:0:kdb.enter.panic> bt Tracing pid 1032 tid 100116 td 0xfffffe0010623920 kdb_enter() at kdb_enter+0x3e/frame 0xffffff8122567940 vpanic() at vpanic+0x146/frame 0xffffff8122567980 kassert_panic() at kassert_panic+0x136/frame 0xffffff81225679f0 witness_warn() at witness_warn+0x4e4/frame 0xffffff8122567ab0 userret() at userret+0x89/frame 0xffffff8122567ae0 amd64_syscall() at amd64_syscall+0x397/frame 0xffffff8122567bf0 Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff8122567bf0 --- syscall (0, FreeBSD ELF64, nosys), rip = 0x80087abcc, rsp = 0x7fffffffd398, rbp = 0x800c0a9d0 --- Cheers, Antoine