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

Ioi Lam iklam at openjdk.org
Tue Aug 1 00:14:51 UTC 2023


On Mon, 31 Jul 2023 23:12:01 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:

>> 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 changes in systemDictionaryShared.cpp

Looks good to me. Thanks for fixing this issue.

src/hotspot/share/classfile/systemDictionaryShared.cpp line 703:

> 701:   DumpTimeClassInfo* info = get_info(k);
> 702:   info->add_verification_constraint(k, name, from_name, from_field_is_protected,
> 703:                                       from_is_array, from_is_object);

Unintended whitespace change?

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

PR Review: https://git.openjdk.org/jdk/pull/15077#pullrequestreview-1555979510
PR Review Comment: https://git.openjdk.org/jdk/pull/15077#discussion_r1279994006


More information about the hotspot-runtime-dev mailing list