changeset 50849:9b0e2937fac5

8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM Reviewed-by: dholmes
author iignatyev
date Wed, 27 Jun 2018 13:43:52 -0700
parents efaf00d8858a
children 208eff1d03e0
files test/jdk/java/util/Arrays/TimSortStackSize2.java
diffstat 1 files changed, 10 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/test/jdk/java/util/Arrays/TimSortStackSize2.java	Wed Jun 27 21:18:33 2018 +0100
+++ b/test/jdk/java/util/Arrays/TimSortStackSize2.java	Wed Jun 27 13:43:52 2018 -0700
@@ -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 @@
          */
         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);
         }