Hi Daniil,

I understand the general issues that the debugger might delete a request after the event has already been generated but before the debugger has received it. Alan and I recently had a discussion about this and concluded that the debugger must be ready for this, otherwise the debug agent will have suspended threads and the debugger might never do anything to resume them (in fact I suspect I'm seeing this in a certain debugger). However, for the case of this test I would think it would be taking fine grain controlled over the requests and events, and would not delete the single step request until the event has been received and the thread is suspended. It can then delete the request and resume the thread (or all threads if using SUSPEND_ALL). Is there a reason the test is not already doing this?

thanks,

Chris

On 6/5/19 7:36 PM, Daniil Titov wrote:
Please review a change that fixes the intermittent failure of the test.

The problem here that there is a chance that a single step event had been 
posted after the step request was created and before it was deleted.

The fix solves this by ensuring that vm.resume() is called at the end of the 
test.

Webrev: http://cr.openjdk.java.net/~dtitov/8206074/webrev.01
Bug: https://bugs.openjdk.java.net/browse/JDK-8206074

Thanks!
--Daniil




Reply via email to