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