On Fri, 25 Apr 2025 06:10:46 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
> As part of the work for > [JDK-8353955](https://bugs.openjdk.org/browse/JDK-8353955) I am reducing the > number of tests that need to be run with includevirtualhreads=y due to using > JDI to lookup threads in the debuggee. There are many tests that lookup the > "main" thread. They can instead glean the "main" thread from the > ClassPrepareEvent for the debuggee main class. Some tests already wait for > this ClassPrepareEvent, and can take advantage of it. Most do not, but can be > made to do so. The easiest way to do this for many of the tests is to wait > for the event in Debuggee.prepareDebuggee() after having called > Debuggee.bindToDebuggee(). For tests that don't call > Debuggee.prepareDebuggee(), waiting for the ClassPrepareEvent was added after > the bind. This doesn't seem to have any ill affect on the tests. > > Tested by running all nsk/jdi tests, including all tier2, tier3, and tier5 > nsk/jdi testing. test/hotspot/jtreg/vmTestbase/nsk/jdi/Accessible/isPackagePrivate/accipp001.java line 111: > 109: Binder binder = new Binder(argsHandler, logHandler); > 110: > 111: debugee = Debugee.prepareDebugee(argsHandler, logHandler, > debugeeName); Adding -vbs to the debugeeName was messing up the changes made in prepareDebuggee(). Adding it is also redundant. If verbose is enabled, -verbose is already passed to the debuggee (-vbs and -verbose are both handled the same). ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24867#discussion_r2059632487