RFR: 8308151: [JVMCI] capture JVMCI exceptions in hs-err
Tom Rodriguez
never at openjdk.org
Tue May 16 16:51:45 UTC 2023
On Tue, 16 May 2023 08:02:11 GMT, Doug Simon <dnsimon at openjdk.org> wrote:
> When there is a pending exception after a JVMCI upcall into libjvmci, the VM calls the ExceptionDescribe JNI function to print the exception. Unfortunately, this output goes to "a system error-reporting channel" [1] which may not be tty. It also means the output is not in a hs-err log should the VM then exit with a fatal error. This has historically made it harder to triage libgraal bugs (i.e. the console output is usually required in addition to the hs-err crash log).
>
> This PR addresses these shortcomings by printing the exception info to a string which is added to the JVMCI event log (for hs-err):
>
> JVMCI Events (11 events):
> ...
> Event: 0.274 Thread 0x0000000146819210 compiler.jvmci.TestUncaughtErrorInCompileMethod$CompilerCreationError
> Event: 0.274 Thread 0x0000000146819210 at compiler.jvmci.TestUncaughtErrorInCompileMethod$1.createCompiler(TestUncaughtErrorInCompileMethod.java:147)
> Event: 0.274 Thread 0x0000000146819210 at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getCompiler(HotSpotJVMCIRuntime.java:829)
> Event: 0.274 Thread 0x0000000146819210 at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compileMethod(HotSpotJVMCIRuntime.java:943)
>
>
> It is also be used to enhance the `-XX:+PrintCompilation` message issued for a failed compilation:
>
> COMPILE SKIPPED: uncaught exception in call_HotSpotJVMCIRuntime_compileMethod [compiler.jvmci.TestUncaughtErrorInCompileMethod$CompilerCreationError]
>
>
> [1] https://docs.oracle.com/en/java/javase/17/docs/specs/jni/functions.html#exceptiondescribe
Marked as reviewed by never (Reviewer).
src/hotspot/share/jvmci/jvmciEnv.cpp line 342:
> 340: }
> 341: if (line >= max_lines) {
> 342: JVMCI_event_1("[elided %d more stack trace lines]", line - max_lines);
You could add this output to the last line instead of burning an extra line.
-------------
PR Review: https://git.openjdk.org/jdk/pull/14000#pullrequestreview-1428988011
PR Review Comment: https://git.openjdk.org/jdk/pull/14000#discussion_r1195429692
More information about the hotspot-compiler-dev
mailing list