From 571fbdc3110440ec3a36bb6005dc5a0358696df5 Mon Sep 17 00:00:00 2001 From: Chris Plummer Date: Tue, 6 Jun 2023 18:17:47 +0000 Subject: [PATCH] 8309506: com/sun/jdi/MultiBreakpointsTest.java fails with virtual test thread factory Reviewed-by: amenkov, sspitsyn --- test/jdk/ProblemList-Virtual.txt | 1 - .../jdk/com/sun/jdi/MultiBreakpointsTest.java | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/test/jdk/ProblemList-Virtual.txt b/test/jdk/ProblemList-Virtual.txt index 2cfe6cfd655..f844b2f5492 100644 --- a/test/jdk/ProblemList-Virtual.txt +++ b/test/jdk/ProblemList-Virtual.txt @@ -30,7 +30,6 @@ com/sun/jdi/EATests.java#id0 8264699 generic- com/sun/jdi/ExceptionEvents.java 8278470 generic-all com/sun/jdi/JdbMethodExitTest.java 8285422 generic-all com/sun/jdi/MethodEntryExitEvents.java 8285422 generic-all -com/sun/jdi/MultiBreakpointsTest.java 8285422 generic-all com/sun/jdi/RedefineCrossStart.java 8278470 generic-all com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java 8285422 generic-all com/sun/jdi/ReferrersTest.java 8285422 generic-all diff --git a/test/jdk/com/sun/jdi/MultiBreakpointsTest.java b/test/jdk/com/sun/jdi/MultiBreakpointsTest.java index 0ef1c6a31c9..aa5a622679b 100644 --- a/test/jdk/com/sun/jdi/MultiBreakpointsTest.java +++ b/test/jdk/com/sun/jdi/MultiBreakpointsTest.java @@ -60,8 +60,16 @@ import java.text.*; class MultiBreakpointsTarg { MultiBreakpointsTarg(int numThreads, int numHits) { + Thread threads[] = new Thread[numThreads]; for (int ii = 0; ii < numThreads; ii++) { - console(ii, numHits); + threads[ii] = console(ii, numHits); + } + for (int ii = 0; ii < numThreads; ii++) { + try { + threads[ii].join(); + } catch (InterruptedException ie) { + throw new RuntimeException(ie); + } } } @@ -127,7 +135,7 @@ class MultiBreakpointsTarg { void bkpt28() {} void bkpt29() {} - void console(final int num, final int nhits) { + Thread console(final int num, final int nhits) { final InputStreamReader isr = new InputStreamReader(System.in); final BufferedReader br = new BufferedReader(isr); @@ -135,8 +143,7 @@ class MultiBreakpointsTarg { // //final String threadName = "DebuggeeThread: " + num; final String threadName = "" + num; - Thread thrd = new Thread( threadName ) { - public void run() { + Thread thrd = TestScaffold.newThread(() -> { synchronized( isr ) { boolean done = false; try { @@ -188,9 +195,11 @@ class MultiBreakpointsTarg { } } } - }; + ); + thrd.setName(threadName); thrd.setPriority(Thread.MAX_PRIORITY-1); thrd.start(); + return thrd; } }