Hi Jaroslav,

Thanks for reviewing this fix. Comments inlined.

Olivier.

On 30/07/2015 19:13, Jaroslav Bachorik wrote:
Hi Olivier,

On 30.7.2015 18:55, olivier.lagn...@oracle.com wrote:
Hi,

Could you please review this fix:
bug: https://bugs.openjdk.java.net/browse/JDK-8131784
webrev: http://cr.openjdk.java.net/~olagneau/8131784/webrev.00/

We add tracing information to help diagnosing master bug problem
(https://bugs.openjdk.java.net/browse/JDK-8130339),
and we will monitor the quarantined runs to check for any failure and
get more diagnosis info.

Since the test already provides some information which is not collected
when it fails with timeout,
the idea is to collect subprocess I/O (stdout, stderr) by using
ProcessTools.startProcess rather
that OutputAnalyzer.executeProcess. The subprocess I/Os will be
collected while it's running
rather than waiting the subprocess termination.

A few additional infos have also been added to get more information.

Note that this "tracing" change should be temporary and will be removed
when a fix for 8130339 has been found.

Instead of `ProcessTools.startProcess(prefixName, pb, (l) -> {return true;} );` at line 132 you can do `ProcessTools.startProcess(prefixName, pb, null);`. It will have the same effect.
This needs to be casted : "ProcessTools.startProcess(prefixName, pb, (Consumer<String>) null)", but then it's identical to startProcess(prefixName, pb) call available in ProcessTools. I tried that first a few days ago and that did not work (could not find reason), thus explored others possibilities
and "(l) -> {return true;}" worked. Thus kept that.

Retried today and StartProcess(prefixName, pb) worked ! So moving back to that.


Why is that 2 seconds sleep necessary at line 135?
A few days ago I got intertwined output messages coming from subprocesses (like a serialGC message in the middle of ParallelGC messages). Having this sleep solved these mixed messages. Anyway tried again today without the sleep call lot of times and did not get this mix.
Thus suppressing this sleep.


L373 and L384 - better use 'SweeperThread' instead of 'SweepThread' to correspond to the class name.
Already existing messages where using SweepThread. Kept that spelling (even if unhappy with that).

But right It's better using SweeperThread. Changing it.



-JB-


Thanks,
Olivier.



Reply via email to