Volcado de hilo bloqueado y bloqueado

Esto es similar aVolcado de subprocesos Java: subproceso BLOQUEADO sin "esperando para bloquear ...".

Básicamente, estoy viendo un hilo BLOQUEADO pero tiene el bloqueo que está esperando:

"pool-1-thread-60" prio=10 tid=0x00007fbf10017000 nid=0x210 waiting for monitor entry [0x00007fbed64e3000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.log4j.Category.callAppenders(Category.java:204)
        - locked <0x0000000742444ad0> (a org.apache.log4j.Logger)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.info(Category.java:666)
        ...

Esperaría ver- waiting to lock <0x0000000742444ad0>... en lugar de- locked.... La otra pregunta sugiere que la recolección de basura es la causa, pero si ese fuera el caso, ¿no se BLOQUEARían todos los hilos? Hay otros hilos que son RUNNABLE. Además, ¿cómo podría probar que ese era el caso? ¿Por qué este sería el comportamiento observado? No quiero ir a ciegas asumiendo que es el recolector de basura solo para descubrir que días después fue otra cosa.

== Información auxiliar ==

Aunque no creo que sea relevante para el tema en cuestión, esta es la sección de código de la que proviene el volcado anterior.

for(Category c = this; c != null; c=c.parent) {
  // Protected against simultaneous call to addAppender, removeAppender,...
  synchronized(c) { //line 204
if(c.aai != null) {
  writes += c.aai.appendLoopOnAppenders(event);
}
if(!c.additive) {
  break;
}
  }
}

Claramente hay un bloqueo que debe obtenerse en esa línea. SIN EMBARGO, cuando un hilo está realmente bloqueado en este monitor, la salida en el volcado de hilo aparece como (esto proviene del mismo volcado):

"pool-1-thread-44" prio=10 tid=0x00007fbef0051000 nid=0x200 waiting for monitor\
 entry [0x00007fbed74f3000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.log4j.Category.callAppenders(Category.java:204)
        - waiting to lock <0x0000000742444ad0> (a org.apache.log4j.Logger)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.info(Category.java:666)
        ...

La sección del volcado en el que estoy interesado se ve diferente ("bloqueado" en lugar de "esperando para bloquear"). He depurado muchos puntos muertos y he visto muchos volcados de hilos. Lo que siempre veo es la "espera de bloqueo". Nunca he visto un hilo que esté "bloqueado" pero aún así "esperando la entrada del monitor" y quiero saber qué significa eso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta