Hi Gary,
Can you add the backtrace of the exception to the CR. It will make it a
bit easier to understand when/why this bug is happening.
If I understand correctly, the second time through the loop the debuggee
should be at a breakpoint, but we do the vm.resume() before we check for
the breakpoint event, and this sometimes leads to the debuggee exiting
before the call to eventIterator.nextEvent(), and this is where the
exception occurs.
Also, I assume with the old implementation that the vm.resume() done at
lines 321 or 329 actually is not doing anything on the 2nd and
subsequent iterations since the debuggee is already resumed by the
resume() at the top of the loop. With your fix, they now are providing a
needed resume().
If my understanding is correct, then your fix looks good.
thanks,
Chris
On 4/19/19 10:06 AM, Gary Adams wrote:
Prevent the debuggee from exiting too quickly by
holding it at the breakpoint until the end of processing
flag has been read by the main thread from the debugger process.
Webrev: http://cr.openjdk.java.net/~gadams/8222741/webrev/
Issue: https://bugs.openjdk.java.net/browse/JDK-8222741