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

Calvin Cheung ccheung at openjdk.org
Tue Aug 1 00:27:01 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:

  revert whitespace changes

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

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

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

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