RFR: 8313899: JVMCI exception Translation can fail in TranslatedException.<clinit> [v2]

Tobias Hartmann thartmann at openjdk.org
Thu Aug 10 13:56:38 UTC 2023


On Thu, 10 Aug 2023 13:41:05 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

>> In a test that stresses metaspace (such as `vmTestbase/vm/mlvm/hiddenloader/stress/oome/metaspace/Test.java`) that also uses `-Xcomp -XX:-TieredCompilation`, we've seen a failure in `TranslatedException.<clinit>` due to exhausted metaspace:
>> 
>> java.lang.OutOfMemoryError: Metaspace
>>         at jdk.internal.vm.TranslatedException.encodeThrowable(java.base at 21/TranslatedException.java:176)
>>         at jdk.internal.vm.TranslatedException.<clinit>(java.base at 21/TranslatedException.java:61)
>>         at jdk.internal.vm.VMSupport.encodeThrowable(java.base at 21/VMSupport.java:171)
>> 
>> This PR pushes a fix such that this exception is properly handled in the VM (i.e. causing a compilation bailout) instead of leading to a VM crash.
>> 
>> The PR includes 2 bits of debug code guarded by system properties that enable the handling to be tested in libgraal. The test itself is not included as libgraal is not part of OpenJDK.
>
> Doug Simon has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - guard test-only code with ASSERT instead of !PRODUCT
>  - omit test-only code in product build

Still looks good to me.

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15198#pullrequestreview-1571929038


More information about the graal-dev mailing list