RFR: 8312181: CDS dynamic dump crashes when verifying unlinked class from static archive [v2]

Calvin Cheung ccheung at openjdk.org
Mon Jul 31 22:32:59 UTC 2023


> During CDS dynamic dump, VM crashes due to `assert(!k->is_shared()) failed` while linking an old class (class file version <= 49) loaded from the static archive. The fix mostly adjusts some assert statements based on static vs dynamic dumping. In `MetaspaceShared::try_link_class`, if linking of a shared class during dynamic dump has failed, the `shared_loading_failed` flag will be set to avoid linking the same class again.
> 
> Passed tiers 1 - 4 testing.

Calvin Cheung has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:

 - Merge branch 'master' into 8312181-dynamic-dump-crash
 - @iklam comments
 - 8312181: CDS dynamic dump crashes when verifying unlinked class from static archive

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

Changes: https://git.openjdk.org/jdk/pull/15077/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15077&range=01
  Stats: 177 lines in 6 files changed: 167 ins; 3 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/15077.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15077/head:pull/15077

PR: https://git.openjdk.org/jdk/pull/15077


More information about the hotspot-runtime-dev mailing list