jmx-dev RFR: 6815130 intermittent ThreadMXBean/Locks.java failure

Mandy Chung mandy.chung at oracle.com
Thu Sep 5 11:37:15 PDT 2013


On 9/3/13 11:56 PM, Jaroslav Bachorik wrote:
>
> Ok, let's go back to the basics :)
>
> The reason for the test to fail intermittently are stale reads from the
> "waiting" variable. In order to minimize the changes it seems sufficient
> to make the "waiting" variable volatile to prevent the stale reads. The
> code modifying the "waiting" variable is already guarded by the
> semaphore so we are good there.
>
> The changes in Locks.java are about more consistent approach to waiting
> for a thread to enter a desired state. I took Erik's recommendation to
> just wait indefinitely for the desired thread state and let the harness
> deal with timeouts.
>
> The very simplified patch is at
> http://cr.openjdk.java.net/~jbachorik/6815130/webrev.03

This simple change looks good.  There are a couple of other tests using 
ThreadExecutionSynchronizer.  Not sure if they run into this 
intermittent issue; if so, similiar fix might apply - just to mention 
it.  Anyway this fix is good to go.

> I will file a task for JDK9 to remove ThreadExecutionSynchronizer and
> simplify java.lang.management tests using it.
>   
Thanks for filing the bug for JDK9.

Mandy



More information about the jmx-dev mailing list