Что означает статус «native_blocked» в JVM jrockit - PullRequest
1 голос
/ 23 марта 2012

У меня есть серверный процесс, который кажется зависшим, но нет тупика на уровне 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)

Может ли кто-нибудь, знакомый с JVM JRockit, предоставить немного цвета? Заранее спасибо:

"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)
...