[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-graal-dev
Subject:    Integrated: 8308151: [JVMCI] capture JVMCI exceptions in hs-err
From:       Doug Simon <dnsimon () openjdk ! org>
Date:       2023-05-24 7:18:09
Message-ID: LDPSxVTTd3wkmG7lGE_xalFYOqha_r0dqj47zNdhqRc=.f75b1ca3-27b9-460a-a847-ba61dfe721cd () github ! com
[Download RAW message or body]

On Tue, 16 May 2023 08:02:11 GMT, Doug Simon <dnsimon@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
> 

This pull request has now been integrated.

Changeset: 05c095cf
Author:    Doug Simon <dnsimon@openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/05c095cf39447d8becb3094c38c84a2c0853112b
                
Stats:     427 lines in 12 files changed: 362 ins; 32 del; 33 mod

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

Reviewed-by: never

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

PR: https://git.openjdk.org/jdk/pull/14000


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic