jmx-dev RFR 8038794: java/lang/management/ThreadMXBean/SynchronizationStatistics.java fails intermittently

Staffan Larsen staffan.larsen at oracle.com
Tue Jul 1 06:05:24 UTC 2014


Jaroslav,

I wonder about this snippet:

 167         ti1 = mbean.getThreadInfo(tid);
 168         testBlocked(ti, () -> mbean.getThreadInfo(tid), lockName, lock1);
 169         ti = ti1;

When ti is used later (line 177) it may not have the values of the ThreadInfo that was actually ok:ed by testBlocked() (since testBlocked() loops). Is this a problem?

Thanks,
/Staffan



On 30 jun 2014, at 18:35, Jaroslav Bachorik <jaroslav.bachorik at oracle.com> wrote:

> Please, review this test fix.
> 
> Issue : https://bugs.openjdk.java.net/browse/JDK-8038794
> Webrev: http://cr.openjdk.java.net/~jbachorik/8038794/webrev.00
> 
> The problem described in this issue is that while a thread was blocked the blocked count reported by the MBean does not reflect it in very rare cases. However, it should be enough to wait a few moments to let the VM counter propagate the value to the MBean.
> 
> The attempted fix will cause the test to wait for the expected values instead of doing a one-time check. In the worst case the test will be timed out by the harness.
> 
> The rest of the changes just add more info to debug outputs.
> 
> Thanks,
> 
> -JB-



More information about the jmx-dev mailing list