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 <[email protected]> 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-
