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