From owner-freebsd-current@FreeBSD.ORG Tue Jul 12 02:51:58 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 866B616A41C for ; Tue, 12 Jul 2005 02:51:58 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29CF143D46 for ; Tue, 12 Jul 2005 02:51:58 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.11] (junior.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.3/8.13.3) with ESMTP id j6C2vPpF060680; Mon, 11 Jul 2005 20:57:25 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <42D33043.4030700@samsco.org> Date: Mon, 11 Jul 2005 20:51:47 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050615 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Martin Cracauer References: <20050711180311.A23623@cons.org> In-Reply-To: <20050711180311.A23623@cons.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.8 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on pooker.samsco.org Cc: freebsd-current@freebsd.org Subject: Re: 6-current: udf broken, "locking against myself" 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: Tue, 12 Jul 2005 02:51:58 -0000 This should have been fixed by a commit a couple of days ago. How old are your sources? Scott Martin Cracauer wrote: > Further testing 6-current. Seems like the udf filesystem is hosed, I > cannot even use a minimal one. > > Mounting a udf (data) filesystem works, but the first attempt to use it > results in > "panic: lockmgr: locking against myself". > > I put an minimal testing image on: > http://wavehh.dyndns.org/tmp/ll.udf.gz > > It has been created with `mkisofs -udf dir` # no other options to mkisofs > > Reproduce error: > $ mdconfig -a -t vnode -f ll.udf > md4 > $ mount_udf /dev/md4 /mnt/tmp # works > $ cd /mnt/tmp # still works > $ ls # panic > > This is a single-processor i386 machine with a single-processor > kernel. Info on this machine (dmesg, pciconf, kernel config etc.) is > on http://www.cons.org/cracauer/machines/grisu/ > > A quick check on a 2-processor box with SMP support shows the same > panic. > > Here are the symboled parts of the backtrace: > #23 0xc05888e0 in kdb_enter (msg=0x0) at cpufunc.h:60 > #24 0xc056a4f5 in panic (fmt=0xc077896e "lockmgr: locking against myself") > at ../../../kern/kern_shutdown.c:537 > #25 0xc055baad in lockmgr (lkp=0xc2e27168, flags=12290, interlkp=0x80, > td=0xc2d6b600) at ../../../kern/kern_lock.c:329 > #26 0xc05ca1cf in vop_stdlock (ap=0x0) at ../../../kern/vfs_default.c:258 > #27 0xc074e364 in VOP_LOCK_APV (vop=0xc07b7500, a=0xf7cd8994) > at vnode_if.c:1642 > #28 0xc05e481c in vn_lock (vp=0xc2e27110, flags=4098, td=0xc2d6b600) > at vnode_if.h:844 > [addresses without symbols] > #56 0xc074d40e in VOP_CACHEDLOOKUP_APV (vop=0x0, a=0x0) at vnode_if.c:150 > > vnode_if.c:1642 is generated, it looks like this in this kernel (line > marked in # comment). > > int > VOP_LOCK_APV(struct vop_vector *vop, struct vop_lock_args *a) > { > int rc; > > VNASSERT(a->a_gen.a_desc == &vop_lock_desc, a->a_vp, > ("Wrong a_desc in vop_lock(%p, %p)", a->a_vp, a)); > while(vop != NULL && \ > vop->vop_lock == NULL && vop->vop_bypass == NULL) > vop = vop->vop_default; > VNASSERT(vop != NULL, a->a_vp, ("No vop_lock(%p, %p)", a->a_vp, a)); > vop_lock_pre(a); > if (vop->vop_lock != NULL) > rc = vop->vop_lock(a); # this is the panic line 1642 > else > rc = vop->vop_bypass(&a->a_gen); > CTR3(KTR_VOP, > "VOP_LOCK(vp 0x%lX, flags %ld, td 0x%lX)", > a->a_vp, a->a_flags, a->a_td); > if (rc == 0) { > } else { > } > vop_lock_post(a, rc); > return (rc); > } > > Now, since I don't have anything useful in the backtrace, how do I go > about debugging an error like this? > > Martin