您的位置:首页 > Web前端 > JavaScript

jstack死锁相关线程栈

2015-12-26 14:35 393 查看
jstack -l 进程号 > /users/logs/s.log

#以下线程先syncronized获得monitor锁,之后由于业务原因 调用wait等待条件

"Thread-0" prio=5 tid=0x00007fe43b078800 nid=0x4903 in Object.wait() [0x0000000110f11000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x00000007d5682a98> (a com.ds.netty.DiscardServer$2)

at java.lang.Object.wait(Object.java:503)

at com.ds.netty.DiscardServer$2.run(DiscardServer.java:80)

- locked <0x00000007d5682a98> (a com.ds.netty.DiscardServer$2)

at java.lang.Thread.run(Thread.java:745)

------------------------------------------lock死锁检测-------------------------------------------

"Thread-1" prio=5 tid=0x00007fbb39091800 nid=0x4b03 waiting on condition [0x000000010d6a3000]

java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000007d56804a0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)

at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)

at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)

at com.ds.netty.DiscardServer$3.run(DiscardServer.java:103)

at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

- <0x00000007d56804d0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"Thread-0" prio=5 tid=0x00007fbb39091000 nid=0x4903 waiting on condition [0x000000010d5a0000]

java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000007d56804d0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)

at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)

at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)

at com.ds.netty.DiscardServer$2.run(DiscardServer.java:85)

at java.lang.Thread.run(Thread.java:745)

Found one Java-level deadlock:

=============================

"Thread-1":

waiting for ownable synchronizer 0x00000007d56804a0, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),

which is held by "Thread-0"

"Thread-0":

waiting for ownable synchronizer 0x00000007d56804d0, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),

which is held by "Thread-1"

Java stack information for the threads listed above:

===================================================

"Thread-1":

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000007d56804a0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)

at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)

at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)

at com.ds.netty.DiscardServer$3.run(DiscardServer.java:103)

at java.lang.Thread.run(Thread.java:745)

"Thread-0":

at sun.misc.Unsafe.park(Native Method)

- parking to wait for <0x00000007d56804d0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)

at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)

at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)

at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)

at com.ds.netty.DiscardServer$2.run(DiscardServer.java:85)

at java.lang.Thread.run(Thread.java:745)

Found 1 deadlock.

-------------------------------------syncronized死锁检测----------------------------------

"Thread-1" prio=5 tid=0x00007ffedc858000 nid=0x4a03 waiting for monitor entry [0x0000000114d07000]

java.lang.Thread.State: BLOCKED (on object monitor)

at com.ds.netty.DiscardServer$3.run(DiscardServer.java:123)

- waiting to lock <0x00000007d56804f0> (a java.lang.Object)

- locked <0x00000007d5680500> (a java.lang.Object)

at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

- None

"Thread-0" prio=5 tid=0x00007ffedc857800 nid=0x4803 waiting for monitor entry [0x0000000114c04000]

java.lang.Thread.State: BLOCKED (on object monitor)

at com.ds.netty.DiscardServer$2.run(DiscardServer.java:93)

- waiting to lock <0x00000007d5680500> (a java.lang.Object)

- locked <0x00000007d56804f0> (a java.lang.Object)

at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

- None

Found one Java-level deadlock:

=============================

"Thread-1":

waiting to lock monitor 0x00007ffedb8e5208 (object 0x00000007d56804f0, a java.lang.Object),

which is held by "Thread-0"

"Thread-0":

waiting to lock monitor 0x00007ffedb8e6808 (object 0x00000007d5680500, a java.lang.Object),

which is held by "Thread-1"

Java stack information for the threads listed above:

===================================================

"Thread-1":

at com.ds.netty.DiscardServer$3.run(DiscardServer.java:123)

- waiting to lock <0x00000007d56804f0> (a java.lang.Object)

- locked <0x00000007d5680500> (a java.lang.Object)

at java.lang.Thread.run(Thread.java:745)

"Thread-0":

at com.ds.netty.DiscardServer$2.run(DiscardServer.java:93)

- waiting to lock <0x00000007d5680500> (a java.lang.Object)

- locked <0x00000007d56804f0> (a java.lang.Object)

at java.lang.Thread.run(Thread.java:745)

Found 1 deadlock.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: