RFR: 8309509: com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java fails with virtual test thread factory

Chris Plummer cjplummer at openjdk.org
Tue Jun 6 00:09:53 UTC 2023


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


More information about the serviceability-dev mailing list