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.
#以下线程先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.
相关文章推荐
- ExtJS ViewPort的使用
- javascript进阶系列专题:作用域与作用域链
- json解析
- ExtJS Grid组件实现分页功能
- [转]如何判断js中的数据类型
- Reverse Integer leetcode--JavaScript
- JavaScript模板引擎综述
- HTML之JS经典验证
- 避免IE执行AJAX时,返回JSON出现下载文件
- 页面重定向js
- Javascript对DOM的操作
- 【JavaScript.05】JS事件晓知识, 切换功能好兼容
- Eclipse插件 ExploreFS,Regex Util,代码块折叠,JSON 编辑插件
- JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
- JavaScript----简介
- JS去除字符串左右两端的空格
- HTML,CSS,JavaScript
- 超实用js代码段一
- JavaScript动态设置div的样式的方法
- c#中把json数据转到dataset中的方法