Hi Daniil,

On 30/05/2020 10:07 am, Daniil Titov wrote:
Please review a change [1] that  fixes an intermittent test timeout.

The main logic of the test has this basic structure:

try {
   // lots of thread state manipulation of target
}
finally {
   thread.getLog();
}

and as David noticed in his comment  ( the last comment in [2] )  if an 
exception occurs anywhere
in the try block we can hang waiting for the join() in getLog() because we 
haven't executed the logic that
tells the thread to terminate.

So the fix puts a timeout on the join() which means the test will no longer timeout but it will still fail when whatever was leading to the timeout now happens. So as a diagnostic fix this seems fine. Hopefully the logger will show what we need to see and determine the real underlying problem.

Thanks,
David
-----

Testing:  Running a modified test that explicitly throws a runtime exception 
inside the try block shows the fix solves the problem.
                  Mach5 tier1-tier3 tests passed. Mach5 tier4-tier5 tests are 
in progress.

[1] http://cr.openjdk.java.net/~dtitov/8081652/webrev.01/
[2] https://bugs.openjdk.java.net/browse/JDK-8081652

Thank you,
Daniil



Reply via email to