On Mon, 8 Jul 2024 19:01:05 GMT, Doug Simon <dnsi...@openjdk.org> wrote:
> This PR addresses intermittent failures in jtreg GC stress tests. The > failures occur under these conditions: > 1. Using a libgraal build with assertions enabled as the top tier JIT > compiler. Such a libgraal build will cause a VM exit if an assertion or > GraalError occurs in a compiler thread (as this catches more errors in > testing). > 2. A libgraal compiler thread makes a call into the VM (via `CompilerToVM`) > to a routine that performs a HotSpot heap allocation that fails. > 3. The resulting OOME is wrapped in a GraalError, causing the VM to exit as > described in 1. > > An OOME thrown in these specific conditions should not exit the VM as it not > related to an OOME in the app or test. Instead, the failure should be treated > as a bailout and the libgraal compiler should continue. > > To accomplish this, libgraal needs to be able to distinguish a GraalError > caused by an OOME. This PR modifies the exception translation code to make > this possible. This pull request has now been integrated. Changeset: cf940e13 Author: Doug Simon <dnsi...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/cf940e139a76e5aabd52379b8a87065d82b2284c Stats: 103 lines in 6 files changed: 62 ins; 22 del; 19 mod 8335553: [Graal] Compiler thread calls into jdk.internal.vm.VMSupport.decodeAndThrowThrowable and crashes in OOM situation Reviewed-by: yzheng, never, dholmes ------------- PR: https://git.openjdk.org/jdk/pull/20083