RFR: 8354484: SIGSEGV when supertype of an AOT-cached class is excluded
Ioi Lam
iklam at openjdk.org
Mon Apr 21 20:43:10 UTC 2025
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".
-------------
Commit messages:
- 8354484: SIGSEGV when supertype of an AOT-cached class is excluded
Changes: https://git.openjdk.org/jdk/pull/24780/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24780&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8354484
Stats: 28 lines in 2 files changed: 26 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/24780.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24780/head:pull/24780
PR: https://git.openjdk.org/jdk/pull/24780
More information about the hotspot-runtime-dev
mailing list