8137289: java/util/logging/DrainFindDeadlockTest.java hangs

Removed timeout=10 from @run command line. added new debug traces.

Reviewed-by: chegar, mchung
This commit is contained in:
Daniel Fuchs 2015-09-30 11:17:32 +02:00
parent c192a9a960
commit 95b5f4d550

View File

@ -35,7 +35,7 @@ import java.util.Map;
* @summary check for deadlock between findLogger() and drainLoggerRefQueueBounded() * @summary check for deadlock between findLogger() and drainLoggerRefQueueBounded()
* @author jim.gish@oracle.com * @author jim.gish@oracle.com
* @build DrainFindDeadlockTest * @build DrainFindDeadlockTest
* @run main/othervm/timeout=10 DrainFindDeadlockTest * @run main/othervm DrainFindDeadlockTest
* @key randomness * @key randomness
*/ */
@ -109,9 +109,13 @@ public class DrainFindDeadlockTest {
public void run() { public void run() {
System.out.println("Running " + Thread.currentThread().getName()); System.out.println("Running " + Thread.currentThread().getName());
for (int i=0; i < MAX_ITERATIONS; i++) { try {
logger = Logger.getLogger("DrainFindDeadlockTest"+i); for (int i=0; i < MAX_ITERATIONS; i++) {
DrainFindDeadlockTest.randomDelay(); logger = Logger.getLogger("DrainFindDeadlockTest"+i);
DrainFindDeadlockTest.randomDelay();
}
} finally {
System.out.println("Completed " + Thread.currentThread().getName());
} }
} }
} }
@ -120,13 +124,17 @@ public class DrainFindDeadlockTest {
@Override @Override
public void run() { public void run() {
System.out.println("Running " + Thread.currentThread().getName()); System.out.println("Running " + Thread.currentThread().getName());
for (int i=0; i < MAX_ITERATIONS; i++) { try {
try { for (int i=0; i < MAX_ITERATIONS; i++) {
mgr.readConfiguration(); try {
} catch (IOException | SecurityException ex) { mgr.readConfiguration();
throw new RuntimeException("FAILED: test setup problem", ex); } catch (IOException | SecurityException ex) {
throw new RuntimeException("FAILED: test setup problem", ex);
}
DrainFindDeadlockTest.randomDelay();
} }
DrainFindDeadlockTest.randomDelay(); } finally {
System.out.println("Completed " + Thread.currentThread().getName());
} }
} }
} }
@ -185,12 +193,16 @@ public class DrainFindDeadlockTest {
@Override @Override
public void run() { public void run() {
System.out.println("Running " + Thread.currentThread().getName()); System.out.println("Running " + Thread.currentThread().getName());
for (int i=0; i < MAX_ITERATIONS*2; i++) { try {
checkState(t1, t2); for (int i=0; i < MAX_ITERATIONS*2; i++) {
try { checkState(t1, t2);
Thread.sleep(10); try {
} catch (InterruptedException ex) { Thread.sleep(10);
}; } catch (InterruptedException ex) {
}
}
} finally {
System.out.println("Completed " + Thread.currentThread().getName());
} }
} }
} }