我有一个似乎挂起的服务器进程,但是当我进行线程转储时没有Java级别的死锁。只有一个开放锁链,其中有一个关键线程(解释为什么整个过程“死亡”)。
在链的“开放”端,这个线程是“native_blocked”,但没有更多关于它被“阻止”的信息。
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Oracle JRockit(R) (build R28.1.3-11-141760-1.6.0_24-20110301-1432-linux-x86_64, compiled mode)
熟悉JRockit JVM的人可以提供一点颜色吗?提前致谢:
"unnamed" id=44967 idx=0x808 tid=19423 prio=5 alive, suspended (java), native_blocked, daemon
at jrockit/vm/Locks.profMonitorContendedEntered(Ljava/lang/Object;)V(Native Method)
at jrockit/vm/Locks.monitorEnterSecondStageHard(Locks.java:1163)
^-- Holding lock: com/mycompany/apps/myapp/SomeClass@0x2659027c8[recursive]
at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1005)
at jrockit/vm/Locks.monitorEnter(Locks.java:2179)