On Fri, 22 Mar 2024 19:26:33 GMT, Alex Menkov <amen...@openjdk.org> wrote:
>> The change fixes 3 nsk JDI tests. >> Root cause in all 3 tests is the same - the tests requests JDI event with >> SUSPEND_ALL policy, but event handler thread stops handle incoming event and >> this causes debuggee to hang (suspended by JDI event). >> >> All 3 tests are updated to exit event handler thread after getting >> VMDeathEvent or VMDisconnectEvent (and resume debuggee after any other >> events). >> ClassPrepareEvent tests need to wait some time to allow handle all expected >> events before terminate the debuggee. The logic was implemented by using >> CountDownLatch. >> >> All tests are passed with "--test-repeat 20" > > Alex Menkov has updated the pull request incrementally with one additional > commit since the last revision: > > feedback This looks good. I've posted a couple of nits/questions though. One more question. Why these tests are failed with the UT enabled? Or maybe this was wrong assumption? test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareEvent/referenceType/refType001.java line 134: > 132: while (eventIterator.hasNext()) { > 133: Event event = eventIterator.nextEvent(); > 134: // log.display("\nEvent received:\n " + > event); Nit: Would it make sense to uncomment this log message? How many events are normally printed? test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareEvent/referenceType/refType001.java line 277: > 275: if (!eventsReceivedLatch.await(eventTimeout, > TimeUnit.MILLISECONDS)) { > 276: log.complain("FAILURE 20: Timeout waiting for all > events was exceeded"); > 277: testFailed = true; As I understand the call to `eventHandler.interrupt()` is not needed now because now the `eventHandler` is expected to finish by itself when one of the events is received: `VMDeathEvent` or `VMDisconnectEvent`. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/18442#pullrequestreview-1955749418 PR Comment: https://git.openjdk.org/jdk/pull/18442#issuecomment-2015874028 PR Review Comment: https://git.openjdk.org/jdk/pull/18442#discussion_r1536186503 PR Review Comment: https://git.openjdk.org/jdk/pull/18442#discussion_r1536184572