RFR: 8355915: [leyden] Crash in MDO clearing the unloaded array type [v3]
Aleksey Shipilev
shade at openjdk.org
Wed Apr 30 10:01:58 UTC 2025
> Caught this when doing benchmarks with Spring Boot. See the bug for reproducer.
>
> The lifecycle of array types of `T` is bound to the lifecycle of `T` themselves. So the fix does similar thing to `is_excluded` and other code: when we encounter the `T[]`, we ask if its bottom component classes is not yet initialized. This fits nicely with our current uses, which skip such classes, and ever touch their (potentially nullptr) CLDs.
>
> Additional testing:
> - [x] Ad-hoc testing with most recent spring-boot-petclinic
> - [x] Linux x86_64 server fastdebug, `runtime/cds`
Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
- Co-opt Igor's fix
- Merge branch 'premain' into JDK-8355915-mdo-array-crash
- More robust fix
- Fix
- Fix
-------------
Changes:
- all: https://git.openjdk.org/leyden/pull/64/files
- new: https://git.openjdk.org/leyden/pull/64/files/5808fd73..13f6b163
Webrevs:
- full: https://webrevs.openjdk.org/?repo=leyden&pr=64&range=02
- incr: https://webrevs.openjdk.org/?repo=leyden&pr=64&range=01-02
Stats: 220 lines in 14 files changed: 168 ins; 28 del; 24 mod
Patch: https://git.openjdk.org/leyden/pull/64.diff
Fetch: git fetch https://git.openjdk.org/leyden.git pull/64/head:pull/64
PR: https://git.openjdk.org/leyden/pull/64
More information about the leyden-dev
mailing list