RFR: 8267954: Shared classes that failed to load should not be loaded again [v3]

David Holmes dholmes at openjdk.java.net
Thu Jun 10 04:18:20 UTC 2021


On Wed, 9 Jun 2021 21:28:33 GMT, Yumin Qi <minqi at openjdk.org> wrote:

>> Hi, Please review
>>   Shared classes should not be loaded again at failed loading from CDS. In the failed case, restore_unshareable_info failed due to some reason (OOM), but the class already polluted and failed to be loaded again.
>>   Using the unused bit in _misc_flags indicates shared loading status to prevent it from being loaded again.
>> 
>> Tests: tier1,tier2,tier3,tier4,tier7
>> Local tests: jtreg/hotspot/runtime/cds
>> TestDynamicDumpAtOom.java (which failed in tier7) with variant allocation sizes (used to reproduce the failure) passed.
>> 
>> Thanks
>> Yumin
>
> Yumin Qi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use CDS_ONLY for one line to replace INCLUDE_CDS

src/hotspot/share/oops/instanceKlass.hpp line 364:

> 362:   }
> 363: 
> 364:   void clear_shared_loading_failed() {

This seems unused. And I would not expect loading to "unfail" so can't see why this bit once set would ever be cleared.

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

PR: https://git.openjdk.java.net/jdk/pull/4434


More information about the hotspot-runtime-dev mailing list