Linuxolator panic: Lock (rw) Name Cache exclusively locked
Kostik Belousov
kostikbel at gmail.com
Thu Aug 6 11:43:46 UTC 2009
On Thu, Aug 06, 2009 at 12:56:08AM +0200, Lucius Windschuh wrote:
> Hi.
> I tried to install CA Wily Introscope 8.1, an enterprise application
> performance monitoring framework, on FreeBSD.
> It is Java-based and works, if installed.
> Unfortunately, the installer panics my machine reproducably when it
> exits after the installation:
> panic: Lock (rw) Name Cache exclusively locked @
> /usr/src/sys/kern/vfs_cache.c:589
>
> I'm using -CURRENT r196074 (i386) at the moment.
> Kernel config: http://sites.google.com/site/lwfreebsd/Home/files/kernelconfig-CURRENT.txt?attredirects=0
>
> I have a kernel dump for further analysis (the installation archive
> may not be published, I suppose):
>
> $ kgdb ... vmcore.12
> (kgdb) bt
> #0 doadump () at pcpu.h:246
> #1 0xc063cd1e in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:419
> #2 0xc063cff2 in panic (fmt=Variable "fmt" is not available.
> ) at /usr/src/sys/kern/kern_shutdown.c:575
> #3 0xc067e515 in witness_assert (lock=0xc0b160fc, flags=Variable
> "flags" is not available.
> )
> at /usr/src/sys/kern/subr_witness.c:2235
> #4 0xc063a1d5 in _rw_assert (rw=0xc0b160fc, what=Variable "what" is
> not available.
> )
> at /usr/src/sys/kern/kern_rwlock.c:1020
> #5 0xc063a80b in _rw_runlock (rw=0xc0b160fc,
> file=0xc0905c58 "/usr/src/sys/kern/vfs_cache.c", line=589)
> at /usr/src/sys/kern/kern_rwlock.c:526
> #6 0xc06b8297 in cache_lookup (dvp=0xc733c218, vpp=0xf63fcc70, cnp=0xf63fcc00)
> at /usr/src/sys/kern/vfs_cache.c:589
> #7 0xc06b837d in vfs_cache_lookup (ap=0xf63fcc48)
> at /usr/src/sys/kern/vfs_cache.c:881
> #8 0xc08a79c2 in VOP_LOOKUP_APV (vop=0xc65ec880, a=0xf63fcc48)
> at vnode_if.c:123
> #9 0xc0de7547 in linux_getcwd (td=0xc718e240, args=0xf63fccf8)
> at vnode_if.h:54
> #10 0xc0898567 in syscall (frame=0xf63fcd38)
> at /usr/src/sys/i386/i386/trap.c:1073
> #11 0xc087b8c0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:261
> #12 0x00000033 in ?? ()
> Previous frame inner to this frame (corrupt stack?)
>
> Panicing the kernel with getcwd() is strange. :-D
Please try this patch.
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c
index f21f4af..7854803 100644
--- a/sys/kern/vfs_cache.c
+++ b/sys/kern/vfs_cache.c
@@ -416,7 +416,8 @@ retry_wlocked:
if (dvp->v_cache_dd->nc_flag & NCF_ISDOTDOT)
cache_zap(dvp->v_cache_dd);
dvp->v_cache_dd = NULL;
- goto unlock;
+ CACHE_WUNLOCK();
+ return (0);
}
if (dvp->v_cache_dd->nc_flag & NCF_ISDOTDOT)
*vpp = dvp->v_cache_dd->nc_vp;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-emulation/attachments/20090806/3bb9f4a4/attachment.pgp
More information about the freebsd-emulation
mailing list