Are there any liveness issues about thread scheduling in the JVM? (original) (raw)

Xie Xiaodong xxd82329 at gmail.com
Tue Jul 10 04:20:57 PDT 2012


Hello, Dear All,

We are facing some interesting behavior in production.

2012-07-05 14:26:29 Full thread dump Java HotSpot(TM) Server VM (16.3-b01 mixed mode):

"httpSSLWorkerThread-10080-221" daemon prio=3 tid=0x09197400 nid=0x1c1 waiting for monitor entry [0x23d5b000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-107" daemon prio=3 tid=0x0912f800 nid=0x14c waiting for monitor entry [0x26260000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-99" daemon prio=3 tid=0x0b310000 nid=0x144 waiting for monitor entry [0x264e8000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-45" daemon prio=3 tid=0x0a647000 nid=0x10e waiting for monitor entry [0x275fe000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

2012-07-05 14:28:16 Full thread dump Java HotSpot(TM) Server VM (16.3-b01 mixed mode):

"httpSSLWorkerThread-10080-221" daemon prio=3 tid=0x09197400 nid=0x1c1 waiting for monitor entry [0x23d5b000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-99" daemon prio=3 tid=0x0b310000 nid=0x144 waiting for monitor entry [0x264e8000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-45" daemon prio=3 tid=0x0a647000 nid=0x10e runnable [0x275fe000] java.lang.Thread.State: RUNNABLE at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

2012-07-06 13:21:08 Full thread dump Java HotSpot(TM) Server VM (16.3-b01 mixed mode):

"httpSSLWorkerThread-10080-221" daemon prio=3 tid=0x09197400 nid=0x1c1 runnable [0x23d5b000] java.lang.Thread.State: RUNNABLE at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-134" daemon prio=3 tid=0x0b38a800 nid=0x16a waiting for monitor entry [0x258e2000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-99" daemon prio=3 tid=0x0b310000 nid=0x144 waiting for monitor entry [0x264e8000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

"httpSSLWorkerThread-10080-45" daemon prio=3 tid=0x0a647000 nid=0x10e waiting for monitor entry [0x275fe000] java.lang.Thread.State: BLOCKED (on object monitor) at casinomodule.util.TimeUtilImpl.synchronizeWithDatabase(TimeUtilImpl.java:93)

Here are some thread dumps taken at different time. During this period, only httpSSLWorkerThread-10080-99 can make progress. Other threads were always stuck in the synchronization point. And "waiting to lock <0x75b395d8>", this hex number changed several times. What does this number mean?

Thanks a lot for your time.

-- Sincerely yours and Best Regards, Xie Xiaodong



More information about the hotspot-dev mailing list