Hi Olivier,

Ok, reviewed.

Thank you for the update!
Serguei

On 7/31/15 9:21 AM, olivier.lagn...@oracle.com wrote:
Hi Serguey,

Thanks for reviewing. Please see comments inlined.

On 31/07/2015 01:50, serguei.spit...@oracle.com wrote:
Hi Olivier,

I agree with the comments from Jaroslav.
A couple of minor comments.
+            if ( exitCode != 0 ) {
   Unneeded extra spaces
Ok. fixed.



+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            throw new RuntimeException("Parent process interrupted with exception : 
\n " + e);
+        }
+
  Why a call to interrupt() is needed?
Sorry. This is a mistake. Removing it.
  I'd suggest to add a call e.printStackTrace().
In case of such failure JTREG/JPRT already prints the stack strace.
So currently the output will look like this in case of failure :
"
java.lang.RuntimeException: Parent process interrupted with exception :
 java.lang.InterruptedException :
    at LowMemoryTest.traceTest(LowMemoryTest.java:143)
    at LowMemoryTest.main(LowMemoryTest.java:82)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:504)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:92)
    at java.lang.Thread.run(Thread.java:746)
"

Which I find more readable.



Otherwise, it looks good.

Thanks,
Serguei


On 7/30/15 9:55 AM, 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.

Thanks,
Olivier.




Reply via email to