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

> Allow OpaqueFrameException for vthreads when suspended in a loop (not at an 
> event). This became necessary after 
> [JDK-8386116](https://bugs.openjdk.org/browse/JDK-8386116). The 
> ThreadReference.stop() spec allows for this:
> 
> `This method may be used to send an asynchronous exception to a virtual 
> thread when it is suspended at an event. An implementation may support 
> sending an asynchronous exception to a suspended virtual thread in other 
> cases.`
> 
> and
> 
> `OpaqueFrameException - if the thread is a suspended virtual thread and the 
> implementation was unable to throw an asynchronous exception from the 
> thread's current frame`
> 
> I also field [JDK-8390483](https://bugs.openjdk.org/browse/JDK-8390483) to 
> investigate if JVMTI should remove all vthread support for StopThread when 
> not at an event rather than having work just some of the time.
> 
> The failure used to happen about 1 out of 50 runs. Tested with both platform 
> threads and with virtual threads about 200 times each with no issues.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Looks good to me.

test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/stop/stop002.java line 
241:

> 239:                 log.display("TEST #4: resuming thread.");
> 240:                 thrRef.resume();
> 241:                 // Force the debuggee out of the loop.

Any particular reason why removing that second part of the comment? Seems 
that's still true.

test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/stop/stop002t.java line 
144:

> 142:                 stopMeHere++; stopMeHere--;
> 143:             }
> 144:             if (vthreadMode) {

We could also restrict this case to when the debugger actually received 
`OpaqueFrameException`.

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

Marked as reviewed by pchilanomate (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/32403#pullrequestreview-4965374196
PR Review Comment: https://git.openjdk.org/jdk/pull/32403#discussion_r3807607071
PR Review Comment: https://git.openjdk.org/jdk/pull/32403#discussion_r3807597956

Reply via email to