RFR: 8352001: AOT cache should not contain classes injected into built-in class loaders
Ioi Lam
iklam at openjdk.org
Fri Mar 14 05:33:04 UTC 2025
During an application's training run, it's possible to inject classes into the built-in platform/app class loaders with reflection calls.
- Before [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), only the names of these classes were recorded in the AOT config file. When the AOT cache is generated, these classes are automatically filtered out.
- Since [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), these classes are stored as parsed InstanceKlasses in the AOT config file, and will be transferred into the AOT cache. This new behavior may cause some applications to fail, as they may inject bytecodes that have environment dependencies.
For safety, this PR filters out such injected classes from the AOT config file.
-------------
Commit messages:
- 8352001: AOT cache should not contain classes injected into built-in class loaders
Changes: https://git.openjdk.org/jdk/pull/24046/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24046&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8352001
Stats: 238 lines in 10 files changed: 233 ins; 0 del; 5 mod
Patch: https://git.openjdk.org/jdk/pull/24046.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24046/head:pull/24046
PR: https://git.openjdk.org/jdk/pull/24046
More information about the core-libs-dev
mailing list