RFR - JDK-8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout
Daniel D. Daugherty
daniel.daugherty at oracle.com
Thu Aug 16 00:25:51 UTC 2018
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.
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.
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
More information about the serviceability-dev
mailing list