RFR: 8308151: [JVMCI] capture JVMCI exceptions in hs-err [v6]

Doug Simon dnsimon at openjdk.org
Wed May 24 07:18:07 UTC 2023


On Tue, 23 May 2023 15:39:44 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
>
> Doug Simon has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
> 
>   [skip ci] make TestUncaughtErrorInCompileMethod more robust

Thanks Tom for the reviews.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14000#issuecomment-1560574273


More information about the graal-dev mailing list