25 /*
26 * @test
27 * @summary Regression test for JDK-8098821
28 * @bug 8098821
29 * @requires vm.cds.archived.java.heap
30 * @library /test/lib /test/hotspot/jtreg/runtime/cds/appcds
31 * @run driver SysDictCrash
32 */
33
34 import jdk.test.lib.process.OutputAnalyzer;
35 import jdk.test.lib.process.ProcessTools;
36
37 public class SysDictCrash {
38 public static void main(String[] args) throws Exception {
39 SharedStringsUtils.run(args, SysDictCrash::test);
40 }
41
42 public static void test(String[] args) throws Exception {
43 String vmOptionsPrefix[] = SharedStringsUtils.getChildVMOptionsPrefix();
44
45 // SharedBaseAddress=0 puts the archive at a very high address on solaris,
46 // which provokes the crash.
47 ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true,
48 TestCommon.concat(vmOptionsPrefix,
49 "-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5",
50 "-cp", ".",
51 "-XX:SharedBaseAddress=0", "-XX:SharedArchiveFile=./SysDictCrash.jsa",
52 "-Xshare:dump",
53 "-showversion", "-Xlog:cds,cds+hashtables"));
54
55 boolean continueTest = true;
56 OutputAnalyzer output = TestCommon.executeAndLog(dumpPb, "dump");
57 try {
58 TestCommon.checkDump(output);
59 } catch (java.lang.RuntimeException re) {
60 if (!output.getStdout().contains("UseCompressedOops and UseCompressedClassPointers have been disabled due to")) {
61 throw re;
62 } else {
63 System.out.println("Shared archive was not created due to UseCompressedOops and UseCompressedClassPointers have been disabled.");
64 continueTest = false;
65 }
66 }
|
25 /*
26 * @test
27 * @summary Regression test for JDK-8098821
28 * @bug 8098821
29 * @requires vm.cds.archived.java.heap
30 * @library /test/lib /test/hotspot/jtreg/runtime/cds/appcds
31 * @run driver SysDictCrash
32 */
33
34 import jdk.test.lib.process.OutputAnalyzer;
35 import jdk.test.lib.process.ProcessTools;
36
37 public class SysDictCrash {
38 public static void main(String[] args) throws Exception {
39 SharedStringsUtils.run(args, SysDictCrash::test);
40 }
41
42 public static void test(String[] args) throws Exception {
43 String vmOptionsPrefix[] = SharedStringsUtils.getChildVMOptionsPrefix();
44
45 // SharedBaseAddress=0 puts the archive at a very high address, which provokes the crash.
46 ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true,
47 TestCommon.concat(vmOptionsPrefix,
48 "-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5",
49 "-cp", ".",
50 "-XX:SharedBaseAddress=0", "-XX:SharedArchiveFile=./SysDictCrash.jsa",
51 "-Xshare:dump",
52 "-showversion", "-Xlog:cds,cds+hashtables"));
53
54 boolean continueTest = true;
55 OutputAnalyzer output = TestCommon.executeAndLog(dumpPb, "dump");
56 try {
57 TestCommon.checkDump(output);
58 } catch (java.lang.RuntimeException re) {
59 if (!output.getStdout().contains("UseCompressedOops and UseCompressedClassPointers have been disabled due to")) {
60 throw re;
61 } else {
62 System.out.println("Shared archive was not created due to UseCompressedOops and UseCompressedClassPointers have been disabled.");
63 continueTest = false;
64 }
65 }
|