RFR(S): JDK-8210118: better jdb test diagnostics when getting "Prompt is not received during ... milliseconds" failures
Alex Menkov
alexey.menkov at oracle.com
Thu Aug 30 17:33:31 UTC 2018
Looks good.
--alex
On 08/29/2018 21:19, Chris Plummer wrote:
> Hi,
>
> Please review the following:
>
> https://bugs.openjdk.java.net/browse/JDK-8210118
> http://cr.openjdk.java.net/~cjplummer/8210118/webrev.00/
>
> There have a been a few jdb bugs (or test bugs) that have caused tests
> to fail because they never get the expected jdb prompt. The only clue in
> the log is an abrupt termination of any jdb output, and the following
> error message:
>
> # ERROR: Caught unexpected exception while executing the test:
> nsk.share.Failure: Prompt is not received during 300200 milliseconds.
>
> Dumping the pending reply makes it a lot easier to debug most of these
> failures. Here's one example output with the fix in place:
>
> Sending command: cont
> receiveReply FAILED due to "nsk.share.Failure: Prompt is not received
> during 300200 milliseconds.".
> Pending reply output follows:
> reply[0]: >
> reply[1]: Breakpoint hit: Arg"thread=main",
> nsk.jdb.locals.locals002.locals002a.allKindsOfLocals(), line=100 bci=62
> reply[2]: umen100 System.out.println("Locals but no
> arguments"); // locals002.BREAKPOINT_LINE2
> reply[3]:
> reply[4]: ts bmain[1] ut no locals
> # ERROR: Caught unexpected exception while executing the test:
> nsk.share.Failure: Prompt is not received during 300200 milliseconds.
>
> In this case we can see all sorts of extra characters in various reply
> lines. These characters actually come from a println that was executed
> after execution resumed and before the next breakpoint:
>
> System.out.println("Arguments but no locals"); //
> locals002.BREAKPOINT_LINE1
>
> Having the pending reply helps a lot here. Without it, you have no idea
> why the main[1] prompt was never seen and might be led to think it was
> never sent. By looking at the pending output you can see that main[1]
> was sent, but it not being detected because of all the extra characters
> appearing on the same line.
>
> thanks,
>
> Chris
>
More information about the serviceability-dev
mailing list