On Mon, 17 Aug 2026 15:36:21 GMT, Chris Plummer <[email protected]> wrote:

> The test tries to do interrupts while all threads are suspended. With virtual 
> threads this can cause a deadlock because some threads may need to make 
> progress in order for JVMTI InterruptThread to work. Solution is to resume 
> all but the main thread before issuing the interrupts.
> 
> The failure was very hard to reproduce. It took about 2700 runs. During 
> testing of this fix I ran it about 5000 times and didn't see any issues.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

This looks okay to me. But can this be conditional only when virtual threads 
are presents?

test/hotspot/jtreg/vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java 
line 139:

> 137:         reply = jdb.receiveReplyFor(JdbCommand.suspend + mainThread);
> 138:         reply = jdb.receiveReplyFor(JdbCommand.resume, false); // don't 
> expect a compound prompt
> 139:         reply = jdb.receiveReplyFor(JdbCommand.thread + mainThread); // 
> get compund prompt back

Nit: Typo in the comment: s/compund/compound/

-------------

PR Review: https://git.openjdk.org/jdk/pull/32399#pullrequestreview-4996200603
PR Review Comment: https://git.openjdk.org/jdk/pull/32399#discussion_r3832645951

Reply via email to