我需要一些帮助来理解jstack线程日志

时间:2017-03-17 15:44:33

标签: multithreading thread-dump jstack

有一个应用程序调用JRE 1.7.0_80来执行“添加屏幕截图”过程。这是使用JRE的唯一过程。

该应用程序的支持团队发现此功能在一段时间内运行良好,但在执行此操作10次后,它只是挂起而没有任何反应。

他们从挂起的jp2launcher.exe进程获得了以下线程,我想得到一些解释它的帮助。

2017-03-17 07:00:15
Full thread dump Java HotSpot(TM) Client VM (25.92-b14 mixed mode):

"Thread-15" #51 daemon prio=4 os_prio=-1 tid=0x065b2000 nid=0xf10 waiting on condition [0x195ef000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAnimationPanel2.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"TimerQueue" #47 daemon prio=5 os_prio=0 tid=0x065b2400 nid=0x1700 waiting on condition [0x0880f000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0e3fdad0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(Unknown Source)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
    at java.util.concurrent.DelayQueue.take(Unknown Source)
    at javax.swing.TimerQueue.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - <0x0e4136a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"ConsoleTraceListener" #44 daemon prio=5 os_prio=0 tid=0x065b1800 nid=0x20bc in Object.wait() [0x1947f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e0caa70> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)
    at java.lang.Object.wait(Unknown Source)
    at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
    - locked <0x0e0caa70> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)

   Locked ownable synchronizers:
    - None

"AWT-EventQueue-1" #35 prio=6 os_prio=0 tid=0x065b0400 nid=0x1f30 waiting on condition [0x081bf000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0e1d37a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(Unknown Source)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
    at java.awt.EventQueue.getNextEvent(Unknown Source)
    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)

   Locked ownable synchronizers:
    - None

"AWT-EventQueue-2" #34 prio=4 os_prio=-1 tid=0x065b1400 nid=0x1578 waiting on condition [0x0847f000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0e1ba298> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(Unknown Source)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
    at java.awt.EventQueue.getNextEvent(Unknown Source)
    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)

   Locked ownable synchronizers:
    - None

"JVM[id=17]-Heartbeat" #33 daemon prio=5 os_prio=0 tid=0x065b0c00 nid=0x204c in Object.wait() [0x082df000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1ba4b8> (a sun.plugin2.message.Queue)
    at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
    - locked <0x0e1ba4b8> (a sun.plugin2.message.Queue)
    at sun.plugin2.message.Pipe$2.run(Unknown Source)
    at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
    at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
    at sun.plugin2.message.Pipe.receive(Unknown Source)
    at sun.plugin2.main.server.HeartbeatThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"Applet 9 LiveConnect Worker Thread" #31 prio=4 os_prio=-1 tid=0x065b0000 nid=0x23cc in Object.wait() [0x07e8f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1ba698> (a java.lang.Object)
    at java.lang.Object.wait(Unknown Source)
    at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
    - locked <0x0e1ba698> (a java.lang.Object)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"Browser Side Object Cleanup Thread" #29 prio=5 os_prio=0 tid=0x065af800 nid=0x1b00 in Object.wait() [0x07adf000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1ba830> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    - locked <0x0e1ba830> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"CacheCleanUpThread" #28 daemon prio=5 os_prio=0 tid=0x065af400 nid=0x52c in Object.wait() [0x079af000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1ba850> (a com.sun.deploy.cache.CleanupThread)
    at java.lang.Object.wait(Unknown Source)
    at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
    - locked <0x0e1ba850> (a com.sun.deploy.cache.CleanupThread)

   Locked ownable synchronizers:
    - None

"CacheMemoryCleanUpThread" #25 daemon prio=5 os_prio=0 tid=0x065aec00 nid=0x1a04 in Object.wait() [0x0788f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bab70> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    - locked <0x0e1bab70> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"MemoryCache-DelayedCleanup" #26 daemon prio=5 os_prio=0 tid=0x065ae000 nid=0x23e4 in Object.wait() [0x0771f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bad10> (a java.util.TaskQueue)
    at java.lang.Object.wait(Unknown Source)
    at java.util.TimerThread.mainLoop(Unknown Source)
    - locked <0x0e1bad10> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"SysExecutionTheadCreator" #21 daemon prio=5 os_prio=0 tid=0x065ad800 nid=0x1a70 in Object.wait() [0x075af000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bad20> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)
    at java.lang.Object.wait(Unknown Source)
    at sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run(Unknown Source)
    - locked <0x0e1bad20> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)

   Locked ownable synchronizers:
    - None

"AWT-EventQueue-0" #20 prio=6 os_prio=0 tid=0x065a1800 nid=0x19cc waiting on condition [0x0723f000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0e1bb028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(Unknown Source)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
    at java.awt.EventQueue.getNextEvent(Unknown Source)
    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)

   Locked ownable synchronizers:
    - None

"AWT-Windows" #18 daemon prio=6 os_prio=0 tid=0x0659d400 nid=0x1dd0 runnable [0x029ef000]
   java.lang.Thread.State: RUNNABLE
    at sun.awt.windows.WToolkit.eventLoop(Native Method)
    at sun.awt.windows.WToolkit.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"AWT-Shutdown" #17 prio=5 os_prio=0 tid=0x0659c800 nid=0x2054 in Object.wait() [0x0738f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bb3c0> (a java.lang.Object)
    at java.lang.Object.wait(Unknown Source)
    at sun.awt.AWTAutoShutdown.run(Unknown Source)
    - locked <0x0e1bb3c0> (a java.lang.Object)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"Java2D Disposer" #16 daemon prio=10 os_prio=2 tid=0x0659c000 nid=0x978 in Object.wait() [0x06a7f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bb560> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    - locked <0x0e1bb560> (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)

   Locked ownable synchronizers:
    - None

"Java Plug-In Pipe Worker Thread (Client-Side)" #14 daemon prio=5 os_prio=0 tid=0x065a8000 nid=0x19c0 runnable [0x06fef000]
   java.lang.Thread.State: RUNNABLE
    at sun.plugin2.os.windows.Windows.ReadFile0(Native Method)
    at sun.plugin2.os.windows.Windows.ReadFile(Unknown Source)
    at sun.plugin2.ipc.windows.WindowsNamedPipe.read(Unknown Source)
    at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read(Unknown Source)
    at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte(Unknown Source)
    at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source)
    at sun.plugin2.message.transport.SerializingTransport.read(Unknown Source)
    at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"MemoryPressure-Watchdog" #11 daemon prio=5 os_prio=0 tid=0x1904b800 nid=0x1b58 in Object.wait() [0x062ff000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e0722c0> (a java.util.TaskQueue)
    at java.lang.Object.wait(Unknown Source)
    at java.util.TimerThread.mainLoop(Unknown Source)
    - locked <0x0e0722c0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"traceMsgQueueThread" #8 daemon prio=5 os_prio=0 tid=0x18eeac00 nid=0x1ea4 in Object.wait() [0x0605f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e0d7d50> (a java.util.ArrayList)
    at java.lang.Object.wait(Unknown Source)
    at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
    - locked <0x0e0d7d50> (a java.util.ArrayList)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"Service Thread" #7 daemon prio=9 os_prio=0 tid=0x18ed4800 nid=0x1bc0 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C1 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x18eab800 nid=0x2260 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x18eaa800 nid=0x1408 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x18eb1400 nid=0x176c runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x18e9dc00 nid=0x1680 in Object.wait() [0x0564f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e072d98> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    - locked <0x0e072d98> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x18e97c00 nid=0x1934 in Object.wait() [0x054df000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e072f38> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Unknown Source)
    at java.lang.ref.Reference.tryHandlePending(Unknown Source)
    - locked <0x0e072f38> (a java.lang.ref.Reference$Lock)
    at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"main" #1 prio=5 os_prio=0 tid=0x0041ec00 nid=0x9f4 in Object.wait() [0x02e9f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0e1bb800> (a sun.plugin2.message.Queue)
    at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
    - locked <0x0e1bb800> (a sun.plugin2.message.Queue)
    at sun.plugin2.message.Pipe$1.run(Unknown Source)
    at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
    at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
    at sun.plugin2.message.Pipe.receive(Unknown Source)
    at sun.plugin2.main.client.PluginMain.mainLoop(Unknown Source)
    at sun.plugin2.main.client.PluginMain.run(Unknown Source)
    at sun.plugin2.main.client.PluginMain.main(Unknown Source)

   Locked ownable synchronizers:
    - None

"VM Thread" os_prio=2 tid=0x18e72800 nid=0x1d1c runnable 

"VM Periodic Task Thread" os_prio=2 tid=0x18ee2800 nid=0x19ac waiting on condition 

JNI global references: 569

0 个答案:

没有答案