Date: Thu, 6 Aug 2009 14:03:36 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Lucius Windschuh <lwindschuh@googlemail.com> Cc: freebsd-emulation@freebsd.org Subject: Re: Linuxolator panic: Lock (rw) Name Cache exclusively locked Message-ID: <20090806110335.GP1884@deviant.kiev.zoral.com.ua> In-Reply-To: <90a5caac0908051556j27e721e2m25a949ade16848c1@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] 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; [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEUEARECAAYFAkp6uIcACgkQC3+MBN1Mb4gorwCWPw1LbrJBwMnOQiZJd9Ss1VnB QQCgsir2ffZbF/ZcnPebe/UPQJHQaUg= =gRqg -----END PGP SIGNATURE-----help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090806110335.GP1884>
