Integrated: 8308151: [JVMCI] capture JVMCI exceptions in hs-err

Doug Simon dnsimon at
Wed May 24 07:18:09 UTC 2023

On Tue, 16 May 2023 08:02:11 GMT, Doug Simon <dnsimon at> 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(
> Event: 0.274 Thread 0x0000000146819210  at
> Event: 0.274 Thread 0x0000000146819210  at
> 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]

This pull request has now been integrated.

Changeset: 05c095cf
Author:    Doug Simon <dnsimon at>
Stats:     427 lines in 12 files changed: 362 ins; 32 del; 33 mod

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

Reviewed-by: never



More information about the graal-dev mailing list