-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
None
-
6u4
-
generic
-
generic
Found one Java-level deadlock:
=============================
"AppletLauncher-Startup":
waiting to lock monitor 0x0807ccac (object 0x8c79fa18, a sun.plugin.security.PluginClassLoader),
which is held by "AppletLauncher-Reaper"
"AppletLauncher-Reaper":
waiting to lock monitor 0x0807cb80 (object 0x8c79f9c8, a sun.misc.URLClassPath),
which is held by "AppletLauncher-Startup"
Java stack information for the threads listed above:
===================================================
"AppletLauncher-Startup":
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$300(Unknown Source)
at com.sun.deploy.cache.CacheEntry$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.getJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
at sun.misc.URLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- locked <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at sun.applet.AppletClassLoader.findResource(Unknown Source)
at java.lang.ClassLoader.getResource(Unknown Source)
at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
at sun.applet.AppletClassLoader.getResourceAsStream(Unknown Source)
- locked <0x8c7b3a00> (a java.lang.Object)
at javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
at javax.xml.parsers.FactoryFinder.find(Unknown Source)
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.jdesktop.applet.util.JNLPAppletLauncher$JNLPParser.<clinit>(JNLPAppletLauncher.java:2153)
at org.jdesktop.applet.util.JNLPAppletLauncher.parseJNLPExtensions(JNLPAppletLauncher.java:1993)
at org.jdesktop.applet.util.JNLPAppletLauncher.initResources(JNLPAppletLauncher.java:1321)
- locked <0x9030fdd0> (a java.lang.Class for org.jdesktop.applet.util.JNLPAppletLauncher)
at org.jdesktop.applet.util.JNLPAppletLauncher.initAndStartApplet(JNLPAppletLauncher.java:1246)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$000(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$1.run(JNLPAppletLauncher.java:899)
"AppletLauncher-Reaper":
at sun.misc.URLClassPath.getLoader(Unknown Source)
- waiting to lock <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at org.jdesktop.applet.util.JNLPAppletLauncher.deleteOldTempDirs(JNLPAppletLauncher.java:1113)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$100(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$3.run(JNLPAppletLauncher.java:1073)
Found 1 deadlock.
Heap
def new generation total 960K, used 257K [0x8c070000, 0x8c170000, 0x8c550000)
eden space 896K, 21% used [0x8c070000, 0x8c0a1188, 0x8c150000)
from space 64K, 95% used [0x8c160000, 0x8c16f518, 0x8c170000)
to space 64K, 0% used [0x8c150000, 0x8c150000, 0x8c160000)
tenured generation total 4096K, used 4022K [0x8c550000, 0x8c950000, 0x90070000)
the space 4096K, 98% used [0x8c550000, 0x8c93d9a0, 0x8c93da00, 0x8c950000)
compacting perm gen total 12288K, used 2899K [0x90070000, 0x90c70000, 0x94070000)
the space 12288K, 23% used [0x90070000, 0x90344fb0, 0x90345000, 0x90c70000)
ro space 8192K, 69% used [0x94070000, 0x945febc0, 0x945fec00, 0x94870000)
rw space 12288K, 57% used [0x94870000, 0x94f5a488, 0x94f5a600, 0x95470000)
###@###.### indicates that there is a deadlock in the AppletClassLoader implementation due to incorrect synchronization. From an email from him:
-----
I got a deadlock on Linux-i586 (Ubunty Edgy) running the following applet in Firefox 2.0.0.6:
https://java3d.dev.java.net/applets/FourByFour.html
The output of the console log is below. A thread dump showing the deadlock is attached.
-- Kevin
Java Plug-in 1.6.0_04
Using JRE version 1.6.0_04 Java HotSpot(TM) Client VM
User home directory = /export/home/beethoven/kcr
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
JNLPAppletLauncher: static initializer
os.name = linux
nativePrefix = lib nativeSuffix = .so
tmpRootDir = /tmp/jnlp-applet/jln34429
Applet.init
subapplet.classname = org.jdesktop.j3d.examples.four_by_four.FourByFour
subapplet.displayname = Java 3D Four by Four Applet
Applet.start
2007-08-02 11:29:39
Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing):
"TimerQueue" daemon prio=10 tid=0x08354400 nid=0x5551 in Object.wait() [0xb43b6000..0xb43b6ee0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c893cd0> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x8c893cd0> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"AppletLauncher-Startup" prio=10 tid=0x08306000 nid=0x5550 waiting for monitor entry [0xb4963000..0xb4965e60]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$300(Unknown Source)
at com.sun.deploy.cache.CacheEntry$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.getJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
at sun.misc.URLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- locked <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at sun.applet.AppletClassLoader.findResource(Unknown Source)
at java.lang.ClassLoader.getResource(Unknown Source)
at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
at sun.applet.AppletClassLoader.getResourceAsStream(Unknown Source)
- locked <0x8c7b3a00> (a java.lang.Object)
at javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
at javax.xml.parsers.FactoryFinder.find(Unknown Source)
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.jdesktop.applet.util.JNLPAppletLauncher$JNLPParser.<clinit>(JNLPAppletLauncher.java:2153)
at org.jdesktop.applet.util.JNLPAppletLauncher.parseJNLPExtensions(JNLPAppletLauncher.java:1993)
at org.jdesktop.applet.util.JNLPAppletLauncher.initResources(JNLPAppletLauncher.java:1321)
- locked <0x9030fdd0> (a java.lang.Class for org.jdesktop.applet.util.JNLPAppletLauncher)
at org.jdesktop.applet.util.JNLPAppletLauncher.initAndStartApplet(JNLPAppletLauncher.java:1246)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$000(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$1.run(JNLPAppletLauncher.java:899)
"AppletLauncher-Reaper" prio=10 tid=0x08335c00 nid=0x554f waiting for monitor entry [0xb442f000..0xb44301e0]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- waiting to lock <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at org.jdesktop.applet.util.JNLPAppletLauncher.deleteOldTempDirs(JNLPAppletLauncher.java:1113)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$100(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$3.run(JNLPAppletLauncher.java:1073)
"AWT-EventQueue-0" prio=10 tid=0x0830dc00 nid=0x5549 in Object.wait() [0xb44d1000..0xb44d20e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c58c670> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c58c670> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"thread applet-org.jdesktop.applet.util.JNLPAppletLauncher" prio=10 tid=0x08302800 nid=0x5546 in Object.wait() [0xb4640000..0xb4640f60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c626af8> (a sun.plugin.AppletViewer)
at java.lang.Object.wait(Object.java:485)
at sun.applet.AppletPanel.getNextEvent(Unknown Source)
- locked <0x8c626af8> (a sun.plugin.AppletViewer)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-2" prio=10 tid=0xb486e400 nid=0x5544 in Object.wait() [0xb4adc000..0xb4adce60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c79fc70> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c79fc70> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"Thread-3" prio=10 tid=0x082e3800 nid=0x5542 runnable [0xb4a3b000..0xb4a3b160]
java.lang.Thread.State: RUNNABLE
at sun.plugin.navig.motif.AThread.handleRequest(Native Method)
at sun.plugin.navig.motif.AThread.JNIHandleLoop(Unknown Source)
at sun.plugin.navig.motif.AThread.run(Unknown Source)
"Thread-2" prio=10 tid=0x082dcc00 nid=0x553f waiting on condition [0xb4a8b000..0xb4a8c0e0]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.plugin.navig.motif.Plugin$Watcher.run(Unknown Source)
"ConsoleWriterThread" daemon prio=10 tid=0x081c3000 nid=0x553d in Object.wait() [0xb52b4000..0xb52b4fe0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5e9990> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
- locked <0x8c5e9990> (a java.lang.Object)
"AWT-EventQueue-1" prio=10 tid=0x082b3400 nid=0x553c in Object.wait() [0xb4b2d000..0xb4b2df60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5ea1a8> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c5ea1a8> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-Shutdown" prio=10 tid=0x082b2c00 nid=0x553b in Object.wait() [0xb5305000..0xb5305ee0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c561328> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x8c561328> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" daemon prio=10 tid=0x08143400 nid=0x5538 in Object.wait() [0xb5356000..0xb5357160]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5eac68> (a java.util.ArrayList)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x8c5eac68> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
"CacheCleanUpThread" daemon prio=10 tid=0x08142800 nid=0x5537 in Object.wait() [0xb53a7000..0xb53a80e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5ea300> (a com.sun.deploy.cache.CleanupThread)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x8c5ea300> (a com.sun.deploy.cache.CleanupThread)
"AWT-XAWT" daemon prio=10 tid=0x0812cc00 nid=0x5534 runnable [0xb540f000..0xb5410060]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(Unknown Source)
at sun.awt.X11.XToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x080e1c00 nid=0x5533 in Object.wait() [0xb5471000..0xb5471fe0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a6f58> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x8c5a6f58> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Low Memory Detector" daemon prio=10 tid=0x08086000 nid=0x5531 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x08084400 nid=0x5530 waiting on condition [0x00000000..0xb5b328f8]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x08083000 nid=0x552f runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x0807b400 nid=0x552e in Object.wait() [0xb5bd4000..0xb5bd5160]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a7140> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x8c5a7140> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x0807a400 nid=0x552d in Object.wait() [0xb5c25000..0xb5c260e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a6dd8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x8c5a6dd8> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x08052000 nid=0x552b runnable [0xbf8c0000..0xbf8c1058]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.read(Native Method)
at java.io.DataInputStream.readInt(Unknown Source)
at sun.plugin.navig.motif.Plugin.doit(Unknown Source)
at sun.plugin.navig.motif.Plugin.start(Unknown Source)
"VM Thread" prio=10 tid=0x08070c00 nid=0x552c runnable
"VM Periodic Task Thread" prio=10 tid=0x08087800 nid=0x5532 waiting on condition
JNI global references: 1142
-----
(Deadlocks follow in next part)
=============================
"AppletLauncher-Startup":
waiting to lock monitor 0x0807ccac (object 0x8c79fa18, a sun.plugin.security.PluginClassLoader),
which is held by "AppletLauncher-Reaper"
"AppletLauncher-Reaper":
waiting to lock monitor 0x0807cb80 (object 0x8c79f9c8, a sun.misc.URLClassPath),
which is held by "AppletLauncher-Startup"
Java stack information for the threads listed above:
===================================================
"AppletLauncher-Startup":
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$300(Unknown Source)
at com.sun.deploy.cache.CacheEntry$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.getJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
at sun.misc.URLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- locked <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at sun.applet.AppletClassLoader.findResource(Unknown Source)
at java.lang.ClassLoader.getResource(Unknown Source)
at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
at sun.applet.AppletClassLoader.getResourceAsStream(Unknown Source)
- locked <0x8c7b3a00> (a java.lang.Object)
at javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
at javax.xml.parsers.FactoryFinder.find(Unknown Source)
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.jdesktop.applet.util.JNLPAppletLauncher$JNLPParser.<clinit>(JNLPAppletLauncher.java:2153)
at org.jdesktop.applet.util.JNLPAppletLauncher.parseJNLPExtensions(JNLPAppletLauncher.java:1993)
at org.jdesktop.applet.util.JNLPAppletLauncher.initResources(JNLPAppletLauncher.java:1321)
- locked <0x9030fdd0> (a java.lang.Class for org.jdesktop.applet.util.JNLPAppletLauncher)
at org.jdesktop.applet.util.JNLPAppletLauncher.initAndStartApplet(JNLPAppletLauncher.java:1246)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$000(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$1.run(JNLPAppletLauncher.java:899)
"AppletLauncher-Reaper":
at sun.misc.URLClassPath.getLoader(Unknown Source)
- waiting to lock <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at org.jdesktop.applet.util.JNLPAppletLauncher.deleteOldTempDirs(JNLPAppletLauncher.java:1113)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$100(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$3.run(JNLPAppletLauncher.java:1073)
Found 1 deadlock.
Heap
def new generation total 960K, used 257K [0x8c070000, 0x8c170000, 0x8c550000)
eden space 896K, 21% used [0x8c070000, 0x8c0a1188, 0x8c150000)
from space 64K, 95% used [0x8c160000, 0x8c16f518, 0x8c170000)
to space 64K, 0% used [0x8c150000, 0x8c150000, 0x8c160000)
tenured generation total 4096K, used 4022K [0x8c550000, 0x8c950000, 0x90070000)
the space 4096K, 98% used [0x8c550000, 0x8c93d9a0, 0x8c93da00, 0x8c950000)
compacting perm gen total 12288K, used 2899K [0x90070000, 0x90c70000, 0x94070000)
the space 12288K, 23% used [0x90070000, 0x90344fb0, 0x90345000, 0x90c70000)
ro space 8192K, 69% used [0x94070000, 0x945febc0, 0x945fec00, 0x94870000)
rw space 12288K, 57% used [0x94870000, 0x94f5a488, 0x94f5a600, 0x95470000)
###@###.### indicates that there is a deadlock in the AppletClassLoader implementation due to incorrect synchronization. From an email from him:
-----
I got a deadlock on Linux-i586 (Ubunty Edgy) running the following applet in Firefox 2.0.0.6:
https://java3d.dev.java.net/applets/FourByFour.html
The output of the console log is below. A thread dump showing the deadlock is attached.
-- Kevin
Java Plug-in 1.6.0_04
Using JRE version 1.6.0_04 Java HotSpot(TM) Client VM
User home directory = /export/home/beethoven/kcr
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
JNLPAppletLauncher: static initializer
os.name = linux
nativePrefix = lib nativeSuffix = .so
tmpRootDir = /tmp/jnlp-applet/jln34429
Applet.init
subapplet.classname = org.jdesktop.j3d.examples.four_by_four.FourByFour
subapplet.displayname = Java 3D Four by Four Applet
Applet.start
2007-08-02 11:29:39
Full thread dump Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing):
"TimerQueue" daemon prio=10 tid=0x08354400 nid=0x5551 in Object.wait() [0xb43b6000..0xb43b6ee0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c893cd0> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x8c893cd0> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"AppletLauncher-Startup" prio=10 tid=0x08306000 nid=0x5550 waiting for monitor entry [0xb4963000..0xb4965e60]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.readManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$300(Unknown Source)
at com.sun.deploy.cache.CacheEntry$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.getJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedJarFile(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
- locked <0x8c8593a0> (a sun.plugin.net.protocol.jar.CachedJarURLConnection)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
at sun.misc.URLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- locked <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at sun.applet.AppletClassLoader.findResource(Unknown Source)
at java.lang.ClassLoader.getResource(Unknown Source)
at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
at sun.applet.AppletClassLoader.getResourceAsStream(Unknown Source)
- locked <0x8c7b3a00> (a java.lang.Object)
at javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
at javax.xml.parsers.FactoryFinder.find(Unknown Source)
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.jdesktop.applet.util.JNLPAppletLauncher$JNLPParser.<clinit>(JNLPAppletLauncher.java:2153)
at org.jdesktop.applet.util.JNLPAppletLauncher.parseJNLPExtensions(JNLPAppletLauncher.java:1993)
at org.jdesktop.applet.util.JNLPAppletLauncher.initResources(JNLPAppletLauncher.java:1321)
- locked <0x9030fdd0> (a java.lang.Class for org.jdesktop.applet.util.JNLPAppletLauncher)
at org.jdesktop.applet.util.JNLPAppletLauncher.initAndStartApplet(JNLPAppletLauncher.java:1246)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$000(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$1.run(JNLPAppletLauncher.java:899)
"AppletLauncher-Reaper" prio=10 tid=0x08335c00 nid=0x554f waiting for monitor entry [0xb442f000..0xb44301e0]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.misc.URLClassPath.getLoader(Unknown Source)
- waiting to lock <0x8c79f9c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
- locked <0x8c79fa18> (a sun.plugin.security.PluginClassLoader)
at org.jdesktop.applet.util.JNLPAppletLauncher.deleteOldTempDirs(JNLPAppletLauncher.java:1113)
at org.jdesktop.applet.util.JNLPAppletLauncher.access$100(JNLPAppletLauncher.java:650)
at org.jdesktop.applet.util.JNLPAppletLauncher$3.run(JNLPAppletLauncher.java:1073)
"AWT-EventQueue-0" prio=10 tid=0x0830dc00 nid=0x5549 in Object.wait() [0xb44d1000..0xb44d20e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c58c670> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c58c670> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"thread applet-org.jdesktop.applet.util.JNLPAppletLauncher" prio=10 tid=0x08302800 nid=0x5546 in Object.wait() [0xb4640000..0xb4640f60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c626af8> (a sun.plugin.AppletViewer)
at java.lang.Object.wait(Object.java:485)
at sun.applet.AppletPanel.getNextEvent(Unknown Source)
- locked <0x8c626af8> (a sun.plugin.AppletViewer)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-2" prio=10 tid=0xb486e400 nid=0x5544 in Object.wait() [0xb4adc000..0xb4adce60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c79fc70> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c79fc70> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"Thread-3" prio=10 tid=0x082e3800 nid=0x5542 runnable [0xb4a3b000..0xb4a3b160]
java.lang.Thread.State: RUNNABLE
at sun.plugin.navig.motif.AThread.handleRequest(Native Method)
at sun.plugin.navig.motif.AThread.JNIHandleLoop(Unknown Source)
at sun.plugin.navig.motif.AThread.run(Unknown Source)
"Thread-2" prio=10 tid=0x082dcc00 nid=0x553f waiting on condition [0xb4a8b000..0xb4a8c0e0]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.plugin.navig.motif.Plugin$Watcher.run(Unknown Source)
"ConsoleWriterThread" daemon prio=10 tid=0x081c3000 nid=0x553d in Object.wait() [0xb52b4000..0xb52b4fe0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5e9990> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
- locked <0x8c5e9990> (a java.lang.Object)
"AWT-EventQueue-1" prio=10 tid=0x082b3400 nid=0x553c in Object.wait() [0xb4b2d000..0xb4b2df60]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5ea1a8> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x8c5ea1a8> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-Shutdown" prio=10 tid=0x082b2c00 nid=0x553b in Object.wait() [0xb5305000..0xb5305ee0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c561328> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x8c561328> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" daemon prio=10 tid=0x08143400 nid=0x5538 in Object.wait() [0xb5356000..0xb5357160]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5eac68> (a java.util.ArrayList)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x8c5eac68> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
"CacheCleanUpThread" daemon prio=10 tid=0x08142800 nid=0x5537 in Object.wait() [0xb53a7000..0xb53a80e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5ea300> (a com.sun.deploy.cache.CleanupThread)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x8c5ea300> (a com.sun.deploy.cache.CleanupThread)
"AWT-XAWT" daemon prio=10 tid=0x0812cc00 nid=0x5534 runnable [0xb540f000..0xb5410060]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(Unknown Source)
at sun.awt.X11.XToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x080e1c00 nid=0x5533 in Object.wait() [0xb5471000..0xb5471fe0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a6f58> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x8c5a6f58> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Low Memory Detector" daemon prio=10 tid=0x08086000 nid=0x5531 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x08084400 nid=0x5530 waiting on condition [0x00000000..0xb5b328f8]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x08083000 nid=0x552f runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x0807b400 nid=0x552e in Object.wait() [0xb5bd4000..0xb5bd5160]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a7140> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x8c5a7140> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x0807a400 nid=0x552d in Object.wait() [0xb5c25000..0xb5c260e0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8c5a6dd8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x8c5a6dd8> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x08052000 nid=0x552b runnable [0xbf8c0000..0xbf8c1058]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.read(Native Method)
at java.io.DataInputStream.readInt(Unknown Source)
at sun.plugin.navig.motif.Plugin.doit(Unknown Source)
at sun.plugin.navig.motif.Plugin.start(Unknown Source)
"VM Thread" prio=10 tid=0x08070c00 nid=0x552c runnable
"VM Periodic Task Thread" prio=10 tid=0x08087800 nid=0x5532 waiting on condition
JNI global references: 1142
-----
(Deadlocks follow in next part)
- relates to
-
JDK-6589720 Browser lockup on X11 platforms
-
- Closed
-