How to read this thread dump to find out whether there is dead lock or not?

From: unipeak (help_at_unipeak.com)
Date: 01/07/04


Date: 7 Jan 2004 11:55:34 -0800

I did some operations to the client and the client hang, and I get
this thread dump. From modifying the code, I can avoid this hanging by
making the thread RemoveEdgeTaskComplete sleep longer, but that is not
a fix I can accept due to performance issue. Any suggestions?
Thank you!

Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.4.2_02-b03 mixed
mode):

"devmgr.dmv.DeviceModel$RemoveEdgeTaskComplete" prio=1
tid=0x200000005e490e40 nid=0xd95 waiting for monitor entry
[200000005d446000..200000005d447760]
        at sun.awt.motif.MGlobalCursorManager.findHeavyweightUnderCursor(Native
Method)
        at sun.awt.motif.MGlobalCursorManager.findHeavyweightUnderCursor(MGlobalCursorManager.java:82)
        at sun.awt.GlobalCursorManager._updateCursor(GlobalCursorManager.java:166)
        at sun.awt.GlobalCursorManager.updateCursorImmediately(GlobalCursorManager.java:82)
        at sun.awt.motif.MComponentPeer.updateCursorImmediately(MComponentPeer.java:249)
        at java.awt.Component.updateCursorImmediately(Component.java:2250)
        at java.awt.Component.show(Component.java:1109)
        - locked <0x2000000044980d00> (a java.awt.Component$AWTTreeLock)
        at java.awt.Window.show(Window.java:467)
        at java.awt.Component.show(Component.java:1133)
        at java.awt.Component.setVisible(Component.java:1088)
        at devmgr.v8910api04.shared.BusyWindow.setVisible(BusyWindow.java:283)
        at devmgr.dmv.MainScreen.displayBusyWindow(MainScreen.java:1135)
        at devmgr.dmv.DeviceView.block(DeviceView.java:474)
        at devmgr.dmv.DeviceModel$RemoveEdgeTask.performOp(DeviceModel.java:521)
        at devmgr.v8910api04.shared.BackgroundTask.run(BackgroundTask.java:78)

"AEN-68" daemon prio=1 tid=0x60000000003813d0 nid=0xd88 runnable
[200000005c86e000..200000005c86f760]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at devmgr.v8910api04.jrpc.TCPChannel.readFully(TCPChannel.java:272)
        at devmgr.v8910api04.jrpc.TCPChannel.receiveMsg(TCPChannel.java:226)
        at devmgr.v8910api04.jrpc.RPCClientTCP.transact(RPCClientTCP.java:154)
        at devmgr.v8910api04.jrpc.RPCClientGeneric.call(RPCClientGeneric.java:137)
        - locked <0x2000000044df2f18> (a devmgr.v8910api04.jrpc.RPCClientTCP)
        at devmgr.v8910api04.jrpc.RPCClient.call(RPCClient.java:93)
        at devmgr.v8910api04.sam.jal.SYMbolClient.dispatchOperation(SYMbolClient.java:417)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.issueCommand(StorageArrayFacade.java:8056)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.sendCommand(StorageArrayFacade.java:7706)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.getChangeState(StorageArrayFacade.java:470)
        at devmgr.v8910api04.sam.jal.AsyncEventNotifier.run(AsyncEventNotifier.java:270)
        at java.lang.Thread.run(Thread.java:534)

"AEN-66" daemon prio=1 tid=0x600000000034ec60 nid=0xd86 runnable
[200000005de96000..200000005de97760]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at devmgr.v8910api04.jrpc.TCPChannel.readFully(TCPChannel.java:272)
        at devmgr.v8910api04.jrpc.TCPChannel.receiveMsg(TCPChannel.java:226)
        at devmgr.v8910api04.jrpc.RPCClientTCP.transact(RPCClientTCP.java:154)
        at devmgr.v8910api04.jrpc.RPCClientGeneric.call(RPCClientGeneric.java:137)
        - locked <0x200000004499a540> (a devmgr.v8910api04.jrpc.RPCClientTCP)
        at devmgr.v8910api04.jrpc.RPCClient.call(RPCClient.java:93)
        at devmgr.v8910api04.sam.jal.SYMbolClient.dispatchOperation(SYMbolClient.java:417)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.issueCommand(StorageArrayFacade.java:8056)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.sendCommand(StorageArrayFacade.java:7706)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.getChangeState(StorageArrayFacade.java:470)
        at devmgr.v8910api04.sam.jal.AsyncEventNotifier.run(AsyncEventNotifier.java:270)
        at java.lang.Thread.run(Thread.java:534)

"AEN-63" daemon prio=1 tid=0x200000005e4970b0 nid=0xd83 runnable
[200000005df9e000..200000005df9f760]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at devmgr.v8910api04.jrpc.TCPChannel.readFully(TCPChannel.java:272)
        at devmgr.v8910api04.jrpc.TCPChannel.receiveMsg(TCPChannel.java:226)
        at devmgr.v8910api04.jrpc.RPCClientTCP.transact(RPCClientTCP.java:154)
        at devmgr.v8910api04.jrpc.RPCClientGeneric.call(RPCClientGeneric.java:137)
        - locked <0x2000000044990370> (a devmgr.v8910api04.jrpc.RPCClientTCP)
        at devmgr.v8910api04.jrpc.RPCClient.call(RPCClient.java:93)
        at devmgr.v8910api04.sam.jal.SYMbolClient.dispatchOperation(SYMbolClient.java:417)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.issueCommand(StorageArrayFacade.java:8056)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.sendCommand(StorageArrayFacade.java:7706)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.getChangeState(StorageArrayFacade.java:470)
        at devmgr.v8910api04.sam.jal.AsyncEventNotifier.run(AsyncEventNotifier.java:270)
        at java.lang.Thread.run(Thread.java:534)

"AEN-59" daemon prio=1 tid=0x600000000034d3b0 nid=0xd7e runnable
[200000005d54e000..200000005d54f760]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at devmgr.v8910api04.jrpc.TCPChannel.readFully(TCPChannel.java:272)
        at devmgr.v8910api04.jrpc.TCPChannel.receiveMsg(TCPChannel.java:226)
        at devmgr.v8910api04.jrpc.RPCClientTCP.transact(RPCClientTCP.java:154)
        at devmgr.v8910api04.jrpc.RPCClientGeneric.call(RPCClientGeneric.java:137)
        - locked <0x20000000449905c8> (a devmgr.v8910api04.jrpc.RPCClientTCP)
        at devmgr.v8910api04.jrpc.RPCClient.call(RPCClient.java:93)
        at devmgr.v8910api04.sam.jal.SYMbolClient.dispatchOperation(SYMbolClient.java:417)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.issueCommand(StorageArrayFacade.java:8056)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.sendCommand(StorageArrayFacade.java:7706)
        at devmgr.v8910api04.sam.jal.StorageArrayFacade.getChangeState(StorageArrayFacade.java:470)
        at devmgr.v8910api04.sam.jal.AsyncEventNotifier.run(AsyncEventNotifier.java:270)
        at java.lang.Thread.run(Thread.java:534)

"TimerQueue" daemon prio=1 tid=0x60000000006daae0 nid=0xd4a in
Object.wait() [200000005ee47000..200000005ee47760]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2000000044de29b0> (a javax.swing.TimerQueue)
        at javax.swing.TimerQueue.run(TimerQueue.java:231)
        - locked <0x2000000044de29b0> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Thread.java:534)

"Np_Link_Monitor0" daemon prio=1 tid=0x200000005c96f7b0 nid=0xd25
runnable [200000005cf1e000..200000005cf1f760]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at devmgr.v8910api04.jrpc.TCPChannel.readFully(TCPChannel.java:272)
        at devmgr.v8910api04.jrpc.TCPChannel.receiveMsg(TCPChannel.java:226)
        at devmgr.v8910api04.jrpc.RPCClientTCP.transact(RPCClientTCP.java:154)
        at devmgr.v8910api04.jrpc.RPCClientGeneric.call(RPCClientGeneric.java:137)
        - locked <0x2000000044780600> (a devmgr.v8910api04.jrpc.RPCClientTCP)
        at devmgr.v8910api04.jrpc.RPCClient.call(RPCClient.java:93)
        at devmgr.v8910api04.symbol.SYMbolAPIClientV1.getSAData(SYMbolAPIClientV1.java:762)
        at devmgr.dmv.internal.SYMbolDeviceFactory.checkLinkPath(SYMbolDeviceFactory.java:993)
        at devmgr.dmv.internal.SYMbolDeviceFactory$LinkMonitor.linkMonitorLoop(SYMbolDeviceFactory.java:2143)
        at devmgr.dmv.internal.SYMbolDeviceFactory$LinkMonitor.run(SYMbolDeviceFactory.java:1944)

"DMVGarbageCollectorThread" prio=1 tid=0x6000000000612fd0 nid=0xd23
waiting on condition [200000005ce17000..200000005ce17760]
        at java.lang.Thread.sleep(Native Method)
        at devmgr.dmv.MainScreen$GarbageCollectorThread.run(MainScreen.java:2058)

"LogMsgThread" prio=1 tid=0x600000000078ec60 nid=0xd21 in
Object.wait() [200000005cc07000..200000005cc07760]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2000000044a30368> (a java.util.Vector)
        at java.lang.Object.wait(Object.java:429)
        at devmgr.dmv.MainLogListener$LogMessageThread.run(MainLogListener.java:217)
        - locked <0x2000000044a30368> (a java.util.Vector)

"ChangeDetector" prio=1 tid=0x600000000071b1f0 nid=0xd20 waiting on
condition [200000005c617000..200000005c617760]
        at java.lang.Thread.sleep(Native Method)
        at devmgr.dmv.internal.DmvDataStore.run(DmvDataStore.java:1059)
        at java.lang.Thread.run(Thread.java:534)

"DestroyJavaVM" prio=1 tid=0x200000005aa440f0 nid=0xd0e waiting on
condition [0..60000fffffff9400]

"Java2D Disposer" daemon prio=1 tid=0x600000000066a600 nid=0xd1d
waiting for monitor entry [200000005c50f000..200000005c50f760]
        at sun.java2d.DefaultDisposerRecord.invokeNativeDispose(Native
Method)
        at sun.java2d.DefaultDisposerRecord.dispose(DefaultDisposerRecord.java:25)
        at sun.java2d.Disposer.run(Disposer.java:102)
        at java.lang.Thread.run(Thread.java:534)

"AWT-EventQueue-0" prio=1 tid=0x6000000000515110 nid=0xd1b waiting for
monitor entry [200000005c01c000..200000005c01f760]
        at java.awt.Container.getComponents_NoClientCode(Container.java:255)
        - waiting to lock <0x2000000044980d00> (a
java.awt.Component$AWTTreeLock)
        at java.awt.Container.getComponents(Container.java:248)
        at javax.swing.SortingFocusTraversalPolicy.enumerateCycle(SortingFocusTraversalPolicy.java:156)
        at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:87)
        at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(SortingFocusTraversalPolicy.java:331)
        at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(LayoutFocusTraversalPolicy.java:143)
        at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(SortingFocusTraversalPolicy.java:391)
        at java.awt.Window.isFocusableWindow(Window.java:1431)
        at sun.awt.motif.MWindowPeer.pShow(Native Method)
        at sun.awt.motif.MWindowPeer.toFront(MWindowPeer.java:134)
        at java.awt.Window.toFront(Window.java:641)
        at devmgr.v8910api04.shared.BusyWindow$ParentWindowListener.windowActivated(BusyWindow.java:366)
        at java.awt.AWTEventMulticaster.windowActivated(AWTEventMulticaster.java:332)
        at java.awt.Window.processWindowEvent(Window.java:1133)
        at javax.swing.JFrame.processWindowEvent(JFrame.java:266)
        at java.awt.Window.processEvent(Window.java:1079)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:777)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:365)
        at java.awt.Component.dispatchEventImpl(Component.java:3506)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.SentEvent.dispatch(SentEvent.java:50)
        at java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:145)
        at java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:171)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:247)
        at java.awt.Component.dispatchEventImpl(Component.java:3506)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.SequencedEvent.dispatch(SequencedEvent.java:93)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

"AWT-Motif" daemon prio=1 tid=0x6000000000512600 nid=0xd1a waiting for
monitor entry [200000005bf17000..200000005bf17760]
        at sun.awt.motif.MToolkit.run(Native Method)
        at java.lang.Thread.run(Thread.java:534)

"AWT-Shutdown" prio=1 tid=0x60000000005121f0 nid=0xd19 in
Object.wait() [200000005be0f000..200000005be0f760]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2000000045052ff0> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:429)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
        - locked <0x2000000045052ff0> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:534)

"Signal Dispatcher" daemon prio=1 tid=0x600000000008cbf0 nid=0xd14
waiting on condition [0..0]

"Finalizer" daemon prio=1 tid=0x60000000000851b0 nid=0xd12 in
Object.wait() [2000000058a77000..2000000058a77760]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2000000044bce1c0> (a
java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x2000000044bce1c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=1 tid=0x6000000000084a30 nid=0xd11 in
Object.wait() [200000005896f000..200000005896f760]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x2000000044dec4b0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:429)
        at java.lang.ref.Reference$ReferenceHandler



Relevant Pages

  • How to read this thread dump to find out whether there is dead lock or not?
    ... I did some operations to the client and the client hang, ... this thread dump. ... waiting on condition ... waiting for monitor entry ...
    (alt.os.linux.redhat)
  • How to read this thread dump to find out whether there is dead lock or not?
    ... I did some operations to the client and the client hang, ... this thread dump. ... waiting on condition ... waiting for monitor entry ...
    (alt.os.linux)
  • Re: Tomcat Stoppen
    ... Full thread dump Java HotSpotClient VM: ... waiting on ... "StatisticsEntryStorePool-Processor4" daemon prio=5 tid=0x070d1768 nid=0x1588 in Object.wait ...
    (de.comp.lang.java)
  • JDBC Threads Locking up
    ... observing that all 100 tomcat threads are getting stuck in following ... monitor entry ... oracle.jdbc.pool.OracleConnectionEventListener)" and it is waiting to ... lock. ...
    (comp.lang.java.programmer)
  • JDBC Threads Locking up
    ... observing that all 100 tomcat threads are getting stuck in following ... monitor entry ... oracle.jdbc.pool.OracleConnectionEventListener)" and it is waiting to ... lock. ...
    (comp.databases.oracle.server)