On Mon, 5 Jun 2023 22:13:29 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> The test fails when the main debuggee thread is a virtual thread, because 
> virtual threads are always daemon threads. Because of this all the test 
> threads that the debuggee creates are also daemon threads. The main deuggee 
> thread immediately exits after creating the test threads, and at that point 
> there are no non-daemon threads left running to keep the debuggee process 
> alive, so the test threads never get a chance to do all the work that is 
> expected of them. 
> 
> The fix is to use Thread.join() to prevent the main test thread from exiting 
> until all the created tests threads have exited. I also updated the test so 
> when run using the virtual test thread factory, the debuggee test threads 
> will now be virtual threads. Previously just the main debuggee thread would 
> be a virtual thread. This is not a bug fix, but does provide better virtual 
> thread testing.

This pull request has now been integrated.

Changeset: 571fbdc3
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/571fbdc3110440ec3a36bb6005dc5a0358696df5
Stats:     16 lines in 2 files changed: 10 ins; 2 del; 4 mod

8309506: com/sun/jdi/MultiBreakpointsTest.java fails with virtual test thread 
factory

Reviewed-by: amenkov, sspitsyn

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

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

Reply via email to