JDK-8257220 : [JVMCI] option validation should not result in a heavy-weight VM crash
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-11-27
  • Updated: 2022-02-06
  • Resolved: 2020-11-29
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 JDK 16
11.0.11-oracleFixed 16 b27Fixed
Related Reports
Relates :  
Description
As a result of JDK-8253228, a VM crash occurs for incorrectly specified JVMCI  options. For example:

> java -XX:+UnlockExperimentalVMOptions -XX:+EagerJVMCI -XX:+UseJVMCICompiler -Djvmci.InitTiimer=true
Uncaught exception exiting JVMCIEnv scope entered at src/hotspot/share/jvmci/jvmciRuntime.cpp:626
java.lang.IllegalArgumentException: Could not find option jvmci.InitTiimer
Did you mean one of the following?
    jvmci.InitTimer=<value>
	at jdk.vm.ci.hotspot.HotSpotJVMCIRuntime$Option.parse(jdk.internal.vm.ci/HotSpotJVMCIRuntime.java:405)
	at jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.<init>(jdk.internal.vm.ci/HotSpotJVMCIRuntime.java:534)
	at jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime(jdk.internal.vm.ci/HotSpotJVMCIRuntime.java:174)
	at jdk.vm.ci.runtime.JVMCI.initializeRuntime(jdk.internal.vm.ci/Native Method)
	at jdk.vm.ci.runtime.JVMCI.getRuntime(jdk.internal.vm.ci/JVMCI.java:65)
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (jvmciRuntime.cpp:1102), pid=55794, tid=7939
#  fatal error: Fatal exception in JVMCI: Uncaught exception exiting JVMCIEnv scope entered at src/hotspot/share/jvmci/jvmciRuntime.cpp:626
#
# JRE version: OpenJDK Runtime Environment (16.0) (build 16-internal+0-adhoc.dnsimon.open)
# Java VM: OpenJDK 64-Bit Server VM (16-internal+0-adhoc.dnsimon.open, mixed mode, tiered, jvmci, jvmci compiler, compressed oops, g1 gc, bsd-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/dnsimon/jdk-jdk/open/hs_err_pid55794.log
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#
fish: 'build/macosx-x86_64-server-releā€¦' terminated by signal SIGABRT (Abort)
 
This is too heavy weight. It should resemble how -XX parsing errors are reported:

> java -XX:-UseOnStackReplacemen -version
Unrecognized VM option 'UseOnStackReplacemen'
Did you mean '(+/-)UseOnStackReplacement'? Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Comments
Changeset: c5d95071 Author: Doug Simon <dnsimon@openjdk.org> Date: 2020-11-29 16:52:14 +0000 URL: https://git.openjdk.java.net/jdk/commit/c5d95071
29-11-2020