The test fails with the virtual test thread factory because it tries to find the "main" thread in the list of threads returned by JDI, but "main" is a virtual thread and will only be returned by JDI if the debug agent is launched with includevirtualthreads=y. As a result the thread is not found and the test asserts:
java.lang.RuntimeException: assertTrue: expected true, was false at jdk.test.lib.Asserts.fail(Asserts.java:594) at jdk.test.lib.Asserts.assertTrue(Asserts.java:486) at jdk.test.lib.Asserts.assertTrue(Asserts.java:472) at TestNestmateAttr.checkGoodTransforms(TestNestmateAttr.java:511) at TestNestmateAttr.methodEntered(TestNestmateAttr.java:320) at TestScaffold$EventHandler.notifyEvent(TestScaffold.java:205) at TestScaffold$EventHandler.run(TestScaffold.java:279) at java.base/java.lang.Thread.run(Thread.java:1583) The fix is to always run the debug agent with includevirtualthreads=y. Tested by running all com/sun/jdi tests locally with and without the virtual test thread factory. Also ran tier1 and tier5 svc test tasks. ------------- Commit messages: - Make sure we always run debug agent with includevirtualthreads=y Changes: https://git.openjdk.org/jdk/pull/14324/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14324&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8309509 Stats: 7 lines in 2 files changed: 3 ins; 2 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/14324.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14324/head:pull/14324 PR: https://git.openjdk.org/jdk/pull/14324