RFR: 8353955: nsk/jdi tests should be fixed to not always require includevirtualthreads=y

Chris Plummer cjplummer at openjdk.org
Thu Apr 17 20:37:41 UTC 2025


On Fri, 11 Apr 2025 23:23:52 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> This is just a preliminary review. I'd like to get some approval for the approach I'm taking. There are over 300 tests that need to be fixed. I've just fixed a handful in this PR to give a feel for the changes I plan on making. If they look ok to you, then I'll update this PR with the needed changes to the rest of the tests.
> 
> What this PR is fixing is the issue with all of our nsk/jdi testing being done with includevirtualthreads=y even though debuggers typically use the default includevirtualthreads=n. As a result we have a testing gap with includevirtualthreads=n. There are nearly 1200 nsk/jdi tests. Only about 350 actually need includevirtualthreads=y. I plan making includevirtualthreads=n the default for nsk/jdi tests unless the test does something to override the default and request includevirtualthreads=y.
> 
> includevirtualthreads=y forces the debug agent to track all virtual threads so they are returned by vm.allThreads(). Some tests need this since they use vm.allThreads() to find the debuggee threads. Without includevirtualthreads=y, vm.allThreads() usually won't return any virtual threads (although it might return some for which events have been triggered).

Ok, I've switched to using -includevirtualthread as a test argument on the @run command. This approach actually made things simpler for subclasses of TestDebuggerType2, including forceEarlyReturn002 and the SerialExecutionDebugger subclasses.

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

PR Comment: https://git.openjdk.org/jdk/pull/24606#issuecomment-2813969938


More information about the serviceability-dev mailing list