On 8/15/18 8:46 PM, Alex Menkov wrote:
Hi Dan,

Thank you for the review.
See replies inline.

On 08/15/2018 17:25, Daniel D. Daugherty wrote:
On 8/15/18 6:42 PM, Alex Menkov wrote:
Hi all,

please review a fix for
https://bugs.openjdk.java.net/browse/JDK-8209517
webrev:
http://cr.openjdk.java.net/~amenkov/sh2java/step1_regression/webrev/

test/jdk/com/sun/jdi/BreakpointWithFullGC.java
     No comments.

test/jdk/com/sun/jdi/lib/jdb/Jdb.java
     L101:                     30, TimeUnit.SECONDS);
         I'm assuming this is a 30 second timeout for getting the
         initial "Listening for transport..." message. Keep in mind
         that this may need to scale with timeoutFactor. I have seen
         runs with -Xcomp take several minutes here...

     L168:                 waitFor(10, TimeUnit.SECONDS);
     L178:                 debuggee.waitFor(10, TimeUnit.SECONDS);
         10 seconds may not be enough on a loaded machine with
         lots of parallel processes. Keep in mind that this
         may need to scale with timeoutFactor.

Good point.
I'll think how to handle this properly and will update timeouts in one of the subsequent fixes.

Agreed. I should have been more clear. We'll keep an eye open
timeouts with this test and if they happen, we should tweak
the timeout value algorithm.

I'd prefer to push this fix as soon as I get 2nd approval (as it produces noise in CI).

Very much agreed. These failures are happening in every JDK12
tier3 CI job set (for some reason).




test/jdk/com/sun/jdi/lib/jdb/JdbCommand.java
     No comments.

test/jdk/com/sun/jdi/lib/jdb/JdbTest.java
     No comments.

Looks good to me. Is BreakpointWithFullGC.java the only test
that uses the com/sun/jdi/lib/jdb/*.java library code? That
would surprise me, but I haven't been in this test code for
a very long time.

com/sun/jdi/lib/jdb classes were introduced to be used by tests converted from com/sun/jdi/*.sh (https://bugs.openjdk.java.net/browse/JDK-8201652)
For now 2 tests are converted:
test/jdk/com/sun/jdi/BreakpointWithFullGC.java
test/jdk/com/sun/jdi/ArrayLengthDumpTest.java

ArrayLengthDumpTest.java does not require to be updated (works fine with updated lib/jdb)

Thanks for closing the loop on this.

Dan



--alex


Thumbs up!

Dan



Cause of the BreakpointWithFullGC failures is a mess of jdb and debuggee outputs (the test runs debuggee by using CommandLineLaunch connector, so jdb redirects debuggee stdout to its own stdout). To solve it test framework was updated to launch debuggee first (redirecting its output) and then connecting jdb to existing process. The approach allow to drop "simple prompt" logic (jdb mode when debugee is not yet running).

Mach5 passed 400 runs ("4 std platforms" x "--test-repeat 100") without any issues.

--alex


Reply via email to