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.
> - [x] tier1
> - [x] tier2 svc
> - [x] tier5 svc

This pull request has now been integrated.

Changeset: 414eb6bb
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/414eb6bb83d092fbcd87d5ab72519b6eb109837f
Stats:     26 lines in 3 files changed: 15 ins; 9 del; 2 mod

8338714: vmTestbase/nsk/jdb/kill/kill001/kill001.java fails with 
JTREG_TEST_THREAD_FACTORY=Virtual

Reviewed-by: sspitsyn, dholmes

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

PR: https://git.openjdk.org/jdk/pull/22620

Reply via email to