RFR: 8354484: SIGSEGV when supertype of an AOT-cached class is excluded
Ioi Lam
iklam at openjdk.org
Tue Apr 22 16:57:49 UTC 2025
On Mon, 21 Apr 2025 23:52:00 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:
>> Since [JDK-8353014](https://bugs.openjdk.org/browse/JDK-8353014), some classes that are loaded inside `LambdaFormInvokers::regenerate_holder_classes()` are marked as "AOT tooling classes". These classes are excluded from the AOT configuration file (which is generated at the end of the training run).
>>
>> However, in the training run, application threads can run in parallel of `LambdaFormInvokers::regenerate_holder_classes()` and could load a subtype `C` of an "AOT tooling class" `S`.
>>
>> This bug happened because `C` is included in the AOT configuration file, but `S`is excluded.
>>
>> The fix in this PR -- for any `C` that is included, we also include all of its super types, even for the super types that are marked as "AOT tooling classes".
>
> LGTM.
Thanks @calvinccheung @shipilev for the review
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24780#issuecomment-2821929875
More information about the hotspot-runtime-dev
mailing list