Java 7u45 の楽しみは続きます。今回は webstart 内でデッドロックです。これは、大規模なアプリケーション (~100 jar) を起動する際に非常に一貫して (毎回) 発生しています。
他の誰かがこれに遭遇したか、回避策を知っていますか? 1.7.0_40 に戻す以外に?
ありがとう、
Found one Java-level deadlock:
=============================
"Java Web Start Main Thread":
waiting to lock monitor 0x066368bc (object 0x29e65428, a java.lang.Class),
which is held by "Finalizer"
"Finalizer":
waiting to lock monitor 0x00dbc954 (object 0x2a1b52b0, a com.sun.deploy.cache.CacheEntry),
which is held by "Java Web Start Main Thread"
Java stack information for the threads listed above:
===================================================
"Java Web Start Main Thread":
at com.sun.deploy.cache.MemoryCache.getLoadedResource(Unknown Source)
- waiting to lock <0x29e65428> (a java.lang.Class for com.sun.deploy.cache.MemoryCache)
at com.sun.deploy.cache.CachedJarFile.getCacheEntry(Unknown Source)
- locked <0x24810058> (a com.sun.deploy.cache.CachedJarFile)
at com.sun.deploy.cache.CachedJarFile.getManifest(Unknown Source)
- locked <0x24810058> (a com.sun.deploy.cache.CachedJarFile)
at com.sun.deploy.util.JarUtil.isBlobSigned(Unknown Source)
at com.sun.deploy.cache.CacheEntry.getJarFile(Unknown Source)
- locked <0x2a1b52b0> (a com.sun.deploy.cache.CacheEntry)
at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Finalizer":
at com.sun.deploy.cache.CacheEntry.storageFilesExist(Unknown Source)
- waiting to lock <0x2a1b52b0> (a com.sun.deploy.cache.CacheEntry)
at com.sun.deploy.cache.MemoryCache.validateResource(Unknown Source)
at com.sun.deploy.cache.MemoryCache.getLoadedResource(Unknown Source)
- locked <0x29e65428> (a java.lang.Class for com.sun.deploy.cache.MemoryCache)
at com.sun.deploy.cache.CachedJarFile.isReferencedTo(Unknown Source)
at com.sun.deploy.cache.CachedJarFile.close(Unknown Source)
at java.util.zip.ZipFile.finalize(Unknown Source)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
at java.lang.ref.Finalizer.access$100(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
Found 1 deadlock.