RFR: 8355915: [leyden] Crash in MDO clearing the unloaded array type [v2]

Aleksey Shipilev shade at openjdk.org
Wed Apr 30 09:18:43 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 incrementally with one additional commit since the last revision:

  More robust fix

-------------

Changes:
  - all: https://git.openjdk.org/leyden/pull/64/files
  - new: https://git.openjdk.org/leyden/pull/64/files/ab91db2d..5808fd73

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=leyden&pr=64&range=01
 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=64&range=00-01

  Stats: 19 lines in 1 file changed: 1 ins; 11 del; 7 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