On Fri, 6 Dec 2024 22:28:29 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> This test fails after 
> [JDK-8338713](https://bugs.openjdk.org/browse/JDK-8338713) when using 
> JTREG_TEST_THREAD_FACTORY=Virtual. The test uses JVMTI StopThread on a thread 
> expecting it to be mounted. Before 
> [JDK-8338713](https://bugs.openjdk.org/browse/JDK-8338713) it would be 
> mounted because it was blocked on a syncrhonized, which resulted in the 
> thread being pinned. After 
> [JDK-8338713](https://bugs.openjdk.org/browse/JDK-8338713) this is no longer 
> the case and the virtual thread has unmounted. This causes JVMTI StopThread 
> to fail with JVMTI_ERROR_OPAQUE_FRAME because it only supports mounted 
> virtual threads.
> 
> Fixed by using the VThreadPinner class to make sure the virtual threads 
> remains pinned, and therefore mounted.
> 
> Testing:
> 
> - [x] Ran jdb tests locally in both virtual thread mode and platform thread 
> mode.
> - [ ] tier1
> - [ ] tier2 svc
> - [ ] tier5 svc

The fix looks good modulo potential renaming of the `run1()` method.

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

PR Review: https://git.openjdk.org/jdk/pull/22620#pullrequestreview-2490055623

Reply via email to