# HG changeset patch # User mgronlun # Date 1568625106 -7200 # Node ID 64911d7edff9880f9363197dffa4c645f47168a8 # Parent 9af8c8c1cb15b80a3a70386a3608886152434528# Parent d003b3ef8b60ebf3d3657ef4d08c8e62658038c9 Merge diff -r 9af8c8c1cb15 -r 64911d7edff9 test/hotspot/jtreg/ProblemList.txt --- a/test/hotspot/jtreg/ProblemList.txt Mon Sep 16 11:10:22 2019 +0200 +++ b/test/hotspot/jtreg/ProblemList.txt Mon Sep 16 11:11:46 2019 +0200 @@ -90,6 +90,7 @@ # :hotspot_runtime runtime/jni/terminatedThread/TestTerminatedThread.java 8219652 aix-ppc64 +runtime/ReservedStack/ReservedStackTest.java 8231031 generic-all ############################################################################# @@ -204,4 +205,16 @@ vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn001/forceEarlyReturn001.java 7199837 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/SynchronizerLockingThreads/SynchronizerLockingThreads001/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/SynchronizerLockingThreads/SynchronizerLockingThreads002/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/SynchronizerLockingThreads/SynchronizerLockingThreads003/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/SynchronizerLockingThreads/SynchronizerLockingThreads004/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/SynchronizerLockingThreads/SynchronizerLockingThreads005/TestDescription.java 8231032 generic-all + +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi001/Multi001.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi002/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi003/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi004/TestDescription.java 8231032 generic-all +vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi005/TestDescription.java 8231032 generic-all + ############################################################################# diff -r 9af8c8c1cb15 -r 64911d7edff9 test/jdk/ProblemList.txt --- a/test/jdk/ProblemList.txt Mon Sep 16 11:10:22 2019 +0200 +++ b/test/jdk/ProblemList.txt Mon Sep 16 11:11:46 2019 +0200 @@ -564,6 +564,8 @@ javax/management/monitor/DerivedGaugeMonitorTest.java 8042211 generic-all javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java 8042215 generic-all +java/lang/management/ThreadMXBean/LockedSynchronizers.java 8231032 generic-all + ############################################################################ # jdk_io diff -r 9af8c8c1cb15 -r 64911d7edff9 test/jdk/sun/tools/jcmd/TestProcessHelper.java --- a/test/jdk/sun/tools/jcmd/TestProcessHelper.java Mon Sep 16 11:10:22 2019 +0200 +++ b/test/jdk/sun/tools/jcmd/TestProcessHelper.java Mon Sep 16 11:11:46 2019 +0200 @@ -189,6 +189,26 @@ private void checkMainClass(Process p, String expectedMainClass) { String mainClass = PROCESS_HELPER.getMainClass(Long.toString(p.pid())); + // getMainClass() may return null, e.g. due to timing issues. + // Attempt some limited retries. + if (mainClass == null) { + System.err.println("Main class returned by ProcessHelper was null."); + // sleep time doubles each round, altogether, wait no longer than 1 sec + final int MAX_RETRIES = 10; + int retrycount = 0; + long sleepms = 1; + while (retrycount < MAX_RETRIES && mainClass == null) { + System.err.println("Retry " + retrycount + ", sleeping for " + sleepms + "ms."); + try { + Thread.sleep(sleepms); + } catch (InterruptedException e) { + // ignore + } + mainClass = PROCESS_HELPER.getMainClass(Long.toString(p.pid())); + retrycount++; + sleepms *= 2; + } + } p.destroyForcibly(); if (!expectedMainClass.equals(mainClass)) { throw new RuntimeException("Main class is wrong: " + mainClass); diff -r 9af8c8c1cb15 -r 64911d7edff9 test/lib/jdk/test/lib/Platform.java --- a/test/lib/jdk/test/lib/Platform.java Mon Sep 16 11:10:22 2019 +0200 +++ b/test/lib/jdk/test/lib/Platform.java Mon Sep 16 11:11:46 2019 +0200 @@ -265,7 +265,6 @@ return false; } } catch (PrivilegedActionException e) { - @SuppressWarnings("unchecked") IOException t = (IOException) e.getException(); throw t; } @@ -289,7 +288,6 @@ return false; } } catch (PrivilegedActionException e) { - @SuppressWarnings("unchecked") IOException t = (IOException) e.getException(); throw t; } diff -r 9af8c8c1cb15 -r 64911d7edff9 test/lib/jdk/test/lib/Utils.java --- a/test/lib/jdk/test/lib/Utils.java Mon Sep 16 11:10:22 2019 +0200 +++ b/test/lib/jdk/test/lib/Utils.java Mon Sep 16 11:11:46 2019 +0200 @@ -25,6 +25,7 @@ import java.io.File; import java.io.IOException; +import java.lang.annotation.Annotation; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MalformedURLException; @@ -749,13 +750,14 @@ // until the method main() is found; the class containing that method is the // main test class and will be returned as the name of the test. // Special handling is used for testng tests. + @SuppressWarnings("unchecked") public static String getTestName() { String result = null; // If we are using testng, then we should be able to load the "Test" annotation. - Class testClassAnnotation; + Class testClassAnnotation; try { - testClassAnnotation = Class.forName("org.testng.annotations.Test"); + testClassAnnotation = (Class)Class.forName("org.testng.annotations.Test"); } catch (ClassNotFoundException e) { testClassAnnotation = null; } @@ -776,7 +778,7 @@ // annotation. If present, then use the name of this class. if (testClassAnnotation != null) { try { - Class c = Class.forName(className); + Class c = Class.forName(className); if (c.isAnnotationPresent(testClassAnnotation)) { result = className; break; diff -r 9af8c8c1cb15 -r 64911d7edff9 test/lib/jdk/test/lib/process/ProcessTools.java --- a/test/lib/jdk/test/lib/process/ProcessTools.java Mon Sep 16 11:10:22 2019 +0200 +++ b/test/lib/jdk/test/lib/process/ProcessTools.java Mon Sep 16 11:11:46 2019 +0200 @@ -495,7 +495,6 @@ return AccessController.doPrivileged( (PrivilegedExceptionAction) () -> pb.start()); } catch (PrivilegedActionException e) { - @SuppressWarnings("unchecked") IOException t = (IOException) e.getException(); throw t; } diff -r 9af8c8c1cb15 -r 64911d7edff9 test/lib/jdk/test/lib/process/StreamPumper.java --- a/test/lib/jdk/test/lib/process/StreamPumper.java Mon Sep 16 11:10:22 2019 +0200 +++ b/test/lib/jdk/test/lib/process/StreamPumper.java Mon Sep 16 11:11:46 2019 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -144,7 +144,9 @@ } } catch (IOException e) { - e.printStackTrace(); + if (!e.getMessage().equalsIgnoreCase("stream closed")) { + e.printStackTrace(); + } } finally { for (OutputStream out : outStreams) { try {