RFR: 8354484: SIGSEGV when supertype of an AOT-cached class is excluded
Aleksey Shipilev
shade at openjdk.org
Tue Apr 22 08:50:42 UTC 2025
On Mon, 21 Apr 2025 20:38:24 GMT, Ioi Lam <iklam 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".
Looks reasonable.
-------------
Marked as reviewed by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/24780#pullrequestreview-2783341162
More information about the hotspot-runtime-dev
mailing list