JDK-8202130 : [TESTBUG] Some appcds regression test cases fail with "Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-04-23
  • Updated: 2019-06-20
  • Resolved: 2018-05-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11 b12Fixed
Related Reports
Relates :  
Description
Affected test cases:
runtime/appcds/jigsaw/modulepath/AddOpens.java
runtime/appcds/jigsaw/modulepath/ExportModule.java
runtime/appcds/jigsaw/modulepath/MainModuleOnly.java
runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java

Error Logs:
Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

[STDOUT]

----------System.err:(22/1134)----------
 stdout: [];
 stderr: [Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
]
 exitValue = 1

java.lang.RuntimeException: 'Loading classes to share' missing from stdout/stderr 

	at jdk.test.lib.process.OutputAnalyzer.shouldContain(OutputAnalyzer.java:136)
	at jdk.test.lib.cds.CDSTestUtils.checkDump(CDSTestUtils.java:267)
	at AddOpens.main(AddOpens.java:93)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:229)
	at java.base/java.lang.Thread.run(Thread.java:831)

JavaTest Message: Test threw exception: java.lang.RuntimeException
JavaTest Message: shutting down test

result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: 'Loading classes to share' missing from stdout/stderr


test result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: 'Loading classes to share' missing from stdout/stderr


Comments
There are some compilation warnings also: ./jdk1110/test/hotspot/jtreg/runtime/appcds/JarBuilder.java:41: warning: Main is internal proprietary API and may be removed in a future release import sun.tools.jar.Main; ^ ./jdk1110/test/jdk/lib/testlibrary/jdk/testlibrary/ProcessTools.java:344: warning: [dep-ann] deprecated item is not annotated with @Deprecated public static OutputAnalyzer executeTestJvm(String... options) throws Exception { ^ ./jdk1110/test/hotspot/jtreg/runtime/appcds/JarBuilder.java:168: warning: Main is internal proprietary API and may be removed in a future release Main jarTool = new Main(System.out, System.err, "jar"); ^ ./jdk1110/test/hotspot/jtreg/runtime/appcds/JarBuilder.java:168: warning: Main is internal proprietary API and may be removed in a future release Main jarTool = new Main(System.out, System.err, "jar"); ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: ./jdk1110/test/lib/jdk/test/lib/Utils.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 4 warnings
23-04-2018