RFR: 8257220: [JVMCI] option validation should not result in a heavy-weight VM crash
Doug Simon
dnsimon at openjdk.java.net
Fri Nov 27 20:32:06 UTC 2020
As a result of [JDK-8253228](https://bugs.openjdk.java.net/browse/JDK-8253228), a heavy-weight 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. This PR makes it similar how incorrectly specified -XX options are reported:
> java -XX:+UnlockExperimentalVMOptions -XX:+EagerJVMCI -XX:+UseJVMCICompiler -Djvmci.InitTiimer=true
Error parsing JVMCI options: Could not find option jvmci.InitTiimer
Did you mean one of the following?
jvmci.InitTimer=<value>
Error: A fatal exception has occurred. Program will exit.
-------------
Commit messages:
- JVMCI option parsing should not result in a VM crash producing a hs-err log
Changes: https://git.openjdk.java.net/jdk/pull/1487/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1487&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8257220
Stats: 58 lines in 2 files changed: 54 ins; 0 del; 4 mod
Patch: https://git.openjdk.java.net/jdk/pull/1487.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1487/head:pull/1487
PR: https://git.openjdk.java.net/jdk/pull/1487
More information about the hotspot-compiler-dev
mailing list