Subject: Re: kern/9944: panic: lockmgr: locking against myself
To: None <tech-kern@netbsd.org>
From: Tom Spindler <dogcow@redback.com>
List: tech-kern
Date: 05/31/2000 10:11:13
I've got a slight variation on this panic, now:
0 0xc013bf45 in lockstatus ()
#1 0xc020c4bf in cpu_reboot ()
#2 0xc0148191 in panic ()
#3 0xc013c2d2 in lockmgr ()
#4 0xc01f7332 in ufs_lock ()
#5 0xc0165fcb in vn_lock ()
#6 0xc015ff76 in vrele ()
#7 0xc01c9fc7 in nfs_lookup ()
#8 0xc015eb64 in lookup ()
#9 0xc015e853 in namei ()
#10 0xc01639c8 in sys___stat13 ()
#11 0xc0213682 in syscall ()
always seemes to be the same sequence after namei, though.
> Lately, I've been seeing a rash of 'locking against myself panics'
> with heavy nfs activity. It's been rather amazingly consistent with
> this particular crash; two different coredumps show the same exact
> sequence of calls, if not exactly the same data.
>
> Here's a backtrace from a kernel built with symbols. Kernel and core
> availible on request.
>
> #0 0xc013bf45 in lockstatus (lkp=0xd2492bc0)
> at ../../../../kern/kern_lock.c:154
> #1 0xc020c4bf in cpu_reboot (howto=256, bootstr=0x0)
> at ../../../../arch/i386/i386/machdep.c:1353
> #2 0xc0148191 in panic (fmt=0xc013bf45 "lockmgr: locking against myself")
> at ../../../../kern/subr_prf.c:212
> #3 0xc013c2d2 in lockmgr (lkp=0xd2372ddc, flags=65538, interlkp=0xd23ea844)
> at ../../../../kern/kern_lock.c:328
> #4 0xc01f7332 in ufs_lock (v=0xd2492c00)
> at ../../../../ufs/ufs/ufs_vnops.c:1585
> #5 0xc0165fcb in vn_lock (vp=0xd23ea7b4, flags=65538)
> at ../../../../sys/vnode_if.h:724
> #6 0xc015ff76 in vrele (vp=0xd23ea7b4) at ../../../../kern/vfs_subr.c:948
> #7 0xc01c9fc7 in nfs_lookup (v=0xd2492d74) at ../../../../nfs/nfs_vnops.c:822
> #8 0xc015eb64 in lookup (ndp=0xd2492edc) at ../../../../sys/vnode_if.h:71
> #9 0xc015e853 in namei (ndp=0xd2492edc) at ../../../../kern/vfs_lookup.c:153
> #10 0xc0165440 in vn_open (ndp=0xd2492edc, fmode=1, cmode=0)
> at ../../../../kern/vfs_vnops.c:127
> #11 0xc016278a in sys_open (p=0xd25769e4, v=0xd2492f88, retval=0xd2492f80)
> at ../../../../kern/vfs_syscalls.c:939
> #12 0xc0213682 in syscall (frame={tf_es = 31, tf_ds = -1078001633,
> tf_edi = 34680, tf_esi = 95496, tf_ebp = -1077949872, tf_ebx = 357023,
> tf_edx = 0, tf_ecx = 115299, tf_eax = 5, tf_trapno = 3, tf_err = 2,
> tf_eip = 1074284471, tf_cs = 23, tf_eflags = 582, tf_esp = -1077949908,
> tf_ss = 31, tf_vm86_es = 0, tf_vm86_ds = 0, tf_vm86_fs = 0,
> tf_vm86_gs = 0}) at ../../../../arch/i386/i386/trap.c:782
>
> #1 0xc020c4bf in cpu_reboot (howto=256, bootstr=0x0)
> at ../../../../arch/i386/i386/machdep.c:1353
> 1353 dumpsys();
> #2 0xc0148191 in panic (fmt=0xc013bf45 "lockmgr: locking against myself")
> at ../../../../kern/subr_prf.c:212
> 212 cpu_reboot(bootopt, NULL);
> #3 0xc013c2d2 in lockmgr (lkp=0xd2372ddc, flags=65538, interlkp=0xd23ea844)
> at ../../../../kern/kern_lock.c:328
> 328 panic("lockmgr: locking against myself");
> #4 0xc01f7332 in ufs_lock (v=0xd2492c00)
> at ../../../../ufs/ufs/ufs_vnops.c:1585
> 1585 return (lockmgr(&VTOI(vp)->i_lock, ap->a_flags, &vp->v_interlock));
> #5 0xc0165fcb in vn_lock (vp=0xd23ea7b4, flags=65538)
> at ../../../../sys/vnode_if.h:724
> 724 return (VCALL(vp, VOFFSET(vop_lock), &a));
> #6 0xc015ff76 in vrele (vp=0xd23ea7b4) at ../../../../kern/vfs_subr.c:948
> 948 if (vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK) == 0)
> #7 0xc01c9fc7 in nfs_lookup (v=0xd2492d74) at ../../../../nfs/nfs_vnops.c:822
> 822 vrele(newvp);
> (gdb)
> #8 0xc015eb64 in lookup (ndp=0xd2492edc) at ../../../../sys/vnode_if.h:71
> 71 return (VCALL(dvp, VOFFSET(vop_lookup), &a));
> #9 0xc015e853 in namei (ndp=0xd2492edc) at ../../../../kern/vfs_lookup.c:153
> 153 if ((error = lookup(ndp)) != 0) {
> #10 0xc0165440 in vn_open (ndp=0xd2492edc, fmode=1, cmode=0)
> at ../../../../kern/vfs_vnops.c:127
> 127 if ((error = namei(ndp)) != 0)
> #11 0xc016278a in sys_open (p=0xd25769e4, v=0xd2492f88, retval=0xd2492f80)
> at ../../../../kern/vfs_syscalls.c:939
> 939 if ((error = vn_open(&nd, flags, cmode)) != 0) {
> #12 0xc0213682 in syscall (frame={tf_es = 31, tf_ds = -1078001633,
> tf_edi = 34680, tf_esi = 95496, tf_ebp = -1077949872, tf_ebx = 357023,
> tf_edx = 0, tf_ecx = 115299, tf_eax = 5, tf_trapno = 3, tf_err = 2,
> tf_eip = 1074284471, tf_cs = 23, tf_eflags = 582, tf_esp = -1077949908,
> tf_ss = 31, tf_vm86_es = 0, tf_vm86_ds = 0, tf_vm86_fs = 0,
> tf_vm86_gs = 0}) at ../../../../arch/i386/i386/trap.c:782
> 782 error = (*callp->sy_call)(p, args, rval);
>