From owner-freebsd-current@FreeBSD.ORG Wed Dec 7 17:33:12 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B948106564A; Wed, 7 Dec 2011 17:33:12 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 6907A8FC14; Wed, 7 Dec 2011 17:33:10 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id TAA01373; Wed, 07 Dec 2011 19:33:09 +0200 (EET) (envelope-from avg@FreeBSD.org) Message-ID: <4EDFA354.60909@FreeBSD.org> Date: Wed, 07 Dec 2011 19:33:08 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:8.0) Gecko/20111109 Thunderbird/8.0 MIME-Version: 1.0 To: freebsd-current@FreeBSD.org, freebsd-fs@FreeBSD.org References: <4EDF995B.9000407@FreeBSD.org> In-Reply-To: <4EDF995B.9000407@FreeBSD.org> X-Enigmail-Version: undefined Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: Re: zfs-related(?) panic in cache_enter: wrong vnode type X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Dec 2011 17:33:12 -0000 A detail that may or may not be useful. It seems that the panic happened when tried to resume a vim process. The process was suspended, its current directory and a file being edited/viewed may have been already removed. on 07/12/2011 18:50 Andriy Gapon said the following: > > (kgdb) bt > #0 doadump (textdump=1) at pcpu.h:224 > #1 0xffffffff804f6d3b in kern_reboot (howto=260) at > /usr/src/sys/kern/kern_shutdown.c:447 > #2 0xffffffff804f63e9 in panic (fmt=0x104
) at > /usr/src/sys/kern/kern_shutdown.c:635 > #3 0xffffffff80585f46 in cache_enter (dvp=0xfffffe003d4763c0, > vp=0xfffffe0142517000, cnp=0xffffff82393b3708) at /usr/src/sys/kern/vfs_cache.c:726 > #4 0xffffffff81a90900 in zfs_lookup (dvp=0xfffffe003d4763c0, > nm=0xffffff82393b3140 "..", vpp=0xffffff82393b36e0, cnp=0xffffff82393b3708, > nameiop=0, cr=0xfffffe0042e88100, td=0xfffffe000fdfa480, > flags=0) at > /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:1470 > #5 0xffffffff81a91570 in zfs_freebsd_lookup (ap=0xffffff82393b32c0) at > /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:5858 > #6 0xffffffff8073f054 in VOP_CACHEDLOOKUP_APV (vop=0xffffffff81b05a20, > a=0xffffff82393b32c0) at vnode_if.c:187 > #7 0xffffffff80586bf4 in vfs_cache_lookup (ap=Variable "ap" is not available. > ) at vnode_if.h:80 > #8 0xffffffff80740a5c in VOP_LOOKUP_APV (vop=0xffffffff81b05a20, > a=0xffffff82393b33a0) at vnode_if.c:123 > #9 0xffffffff8058e42c in lookup (ndp=0xffffff82393b36a0) at vnode_if.h:54 > #10 0xffffffff8058f17e in namei (ndp=0xffffff82393b36a0) at > /usr/src/sys/kern/vfs_lookup.c:312 > #11 0xffffffff805a890d in vn_open_cred (ndp=0xffffff82393b36a0, > flagp=0xffffff82393b3918, cmode=0, vn_open_flags=Variable "vn_open_flags" is not > available. > ) at /usr/src/sys/kern/vfs_vnops.c:195 > #12 0xffffffff80589e7e in vop_stdvptocnp (ap=Variable "ap" is not available. > ) at /usr/src/sys/kern/vfs_default.c:774 > #13 0xffffffff8073b012 in VOP_VPTOCNP_APV (vop=0xffffffff80a99140, > a=0xffffff82393b39b0) at vnode_if.c:3479 > #14 0xffffffff80584665 in vn_vptocnp_locked (vp=0xffffff82393b3a50, > cred=0xfffffe0042e88100, > buf=0xfffffe000ca06000 > "������������������������������������������������������������������������������������������������������������������������������������������������������"..., > buflen=0xffffff82393b3a4c) at vnode_if.h:1564 > #15 0xffffffff80584bab in vn_fullpath1 (td=0xfffffe000fdfa480, > vp=0xfffffe003d4763c0, rdir=0xfffffe000cd4d000, > buf=0xfffffe000ca06000 > "������������������������������������������������������������������������������������������������������������������������������������������������������"..., > retbuf=0xffffff82393b3ab0, buflen=1023) at /usr/src/sys/kern/vfs_cache.c:1218 > #16 0xffffffff8058526a in kern___getcwd (td=0xfffffe000fdfa480, buf=0x80880a000 >
, bufseg=UIO_USERSPACE, buflen=1024) at > /usr/src/sys/kern/vfs_cache.c:960 > #17 0xffffffff805853f4 in sys___getcwd (td=Variable "td" is not available. > ) at /usr/src/sys/kern/vfs_cache.c:934 > #18 0xffffffff806d2069 in amd64_syscall (td=0xfffffe000fdfa480, traced=0) at > subr_syscall.c:131 > #19 0xffffffff806bb4e7 in Xfast_syscall () at /usr/src/sys/amd64/amd64/exception.S:387 > #20 0x00000008031adb2c in ?? () > Previous frame inner to this frame (corrupt stack?) > (kgdb) fr 3 > #3 0xffffffff80585f46 in cache_enter (dvp=0xfffffe003d4763c0, > vp=0xfffffe0142517000, cnp=0xffffff82393b3708) at /usr/src/sys/kern/vfs_cache.c:726 > 726 KASSERT(vp == NULL || vp->v_type == VDIR, > (kgdb) list > 721 if (dvp->v_cache_dd != NULL) { > 722 CACHE_WUNLOCK(); > 723 cache_free(ncp); > 724 return; > 725 } > 726 KASSERT(vp == NULL || vp->v_type == VDIR, > 727 ("wrong vnode type %p", vp)); > 728 dvp->v_cache_dd = ncp; > 729 } > 730 > (kgdb) p *vp > $1 = {v_type = VREG, v_tag = 0xffffffff81afe449 "zfs", v_op = 0xffffffff81b05a20, > v_data = 0xfffffe020d9a8320, v_mount = 0xfffffe001a283600, v_nmntvnodes = > {tqe_next = 0xfffffe00347c6d20, > tqe_prev = 0xfffffe013b0575c8}, v_un = {vu_mount = 0x0, vu_socket = 0x0, > vu_cdev = 0x0, vu_fifoinfo = 0x0}, v_hashlist = {le_next = 0x0, le_prev = 0x0}, > v_hash = 0, v_cache_src = { > lh_first = 0x0}, v_cache_dst = {tqh_first = 0xfffffe003dfcf690, tqh_last = > 0xfffffe003dfcf6b0}, v_cache_dd = 0x0, v_cstart = 0, v_lasta = 0, v_lastw = 0, > v_clen = 0, v_lock = {lock_object = { > lo_name = 0xffffffff81afe449 "zfs", lo_flags = 91947008, lo_data = 0, > lo_witness = 0xffffff800066e380}, lk_lock = 18446741874952610944, lk_exslpfail = > 0, lk_timo = 51, lk_pri = 96}, > v_interlock = {lock_object = {lo_name = 0xffffffff807e610a "vnode interlock", > lo_flags = 16973824, lo_data = 0, lo_witness = 0xffffff8000665600}, mtx_lock = 4}, > v_vnlock = 0xfffffe0142517098, > v_holdcnt = 2, v_usecount = 1, v_iflag = 0, v_vflag = 0, v_writecount = 0, > v_freelist = {tqe_next = 0xfffffe00347c6d20, tqe_prev = 0xfffffe02110d3e30}, > v_bufobj = {bo_mtx = {lock_object = { > lo_name = 0xffffffff807efdfa "bufobj interlock", lo_flags = 16973824, > lo_data = 0, lo_witness = 0xffffff800066c300}, mtx_lock = 4}, bo_clean = {bv_hd = > {tqh_first = 0x0, > tqh_last = 0xfffffe0142517140}, bv_root = 0x0, bv_cnt = 0}, bo_dirty = > {bv_hd = {tqh_first = 0x0, tqh_last = 0xfffffe0142517160}, bv_root = 0x0, bv_cnt = > 0}, bo_numoutput = 0, bo_flag = 0, > bo_ops = 0xffffffff80a95ec0, bo_bsize = 131072, bo_object = > 0xfffffe01fccb5620, bo_synclist = {le_next = 0x0, le_prev = 0x0}, bo_private = > 0xfffffe0142517000, __bo_vnode = 0xfffffe0142517000}, > v_pollinfo = 0x0, v_label = 0x0, v_lockf = 0x0} > (kgdb) > -- Andriy Gapon