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

Calvin Cheung ccheung at openjdk.org
Tue Aug 1 19:03:07 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 incrementally with one additional commit since the last revision:

  fix typo in OldClassVerifierTrouble.java

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15077/files
  - new: https://git.openjdk.org/jdk/pull/15077/files/545cd1eb..bfb68928

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15077&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15077&range=03-04

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