On Fri, 22 Mar 2024 19:26:33 GMT, Alex Menkov <[email protected]> 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