8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM

Reviewed-by: dholmes
This commit is contained in:
Igor Ignatyev 2018-06-27 13:43:52 -07:00
parent ec7e7d9ffb
commit 19085e7dad

@ -24,6 +24,8 @@
/*
* @test
* @bug 8072909
* @summary Test TimSort stack size on big arrays
* @key intermittent
* @library /lib/testlibrary /test/lib
* @modules java.management
* java.base/jdk.internal
@ -33,8 +35,6 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI TimSortStackSize2
* @summary Test TimSort stack size on big arrays
* @key intermittent
*/
import java.util.ArrayList;
import java.util.Arrays;
@ -64,22 +64,20 @@ public class TimSortStackSize2 {
*/
try {
Boolean compressedOops = WhiteBox.getWhiteBox()
.getBooleanVMFlag("UseCompressedOops");
.getBooleanVMFlag("UseCompressedOops");
long memory = (compressedOops == null || compressedOops) ? 385 : 770;
final String xmsValue = "-Xms" + memory + "m";
final String xmxValue = "-Xmx" + memory + "m";
final String xmsValue = "-Xms" + memory + "m";
final String xmxValue = "-Xmx" + 2 * memory + "m";
System.out.printf("compressedOops: %s; Test will be started with \"%s %s\"%n",
compressedOops, xmsValue, xmxValue);
ProcessBuilder processBuilder = ProcessTools
.createJavaProcessBuilder(Utils.addTestJavaOpts(xmsValue, xmxValue,
"TimSortStackSize2", "67108864"
)
);
OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);
OutputAnalyzer output = ProcessTools.executeTestJava(xmsValue,
xmxValue,
"TimSortStackSize2",
"67108864");
System.out.println(output.getOutput());
output.shouldHaveExitValue(0);
} catch( Exception e ){
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}