RFR(S): JDK-8210118: better jdb test diagnostics when getting "Prompt is not received during ... milliseconds" failures
Gary Adams
gary.adams at oracle.com
Thu Aug 30 15:10:27 UTC 2018
Looks OK to me.
The extra diagnostic output will be useful to have.
On 8/30/18, 11:08 AM, Gary Adams wrote:
> Hi Chris,
>
> It looks good.
>
> Thanks,
> Serguei
>
>
> On 8/29/18 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/ <http://cr.openjdk.java.net/%7Ecjplummer/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
> />
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20180830/5e2b955e/attachment.html>
More information about the serviceability-dev
mailing list