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