RFR: 8320525: G1: G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes accesses partially unloaded klass [v2]

Albert Mingkun Yang ayang at openjdk.org
Fri Nov 24 15:05:08 UTC 2023


On Fri, 24 Nov 2023 14:43:18 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Hi all,
>> 
>>   please review this fix that removes the access to a partially unloaded (i.e. unlinked only) `Klass` used for debug code in `G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes`.
>> 
>> This starts to fail if metadata purging happens before the call to this methods (as https://bugs.openjdk.org/browse/JDK-8317809 suggests). The test gc/g1/humongousObjects/TestHumongousClassLoader.java starts to crash on linux-x86 with 100% reproduction because it more aggressively uncommits memory when purging metaspace.
>> 
>> The fix fixes the asserts to only access the klass when it should not be unloaded yet.
>> 
>> Testing: failing test case not failing any more, gha
>> 
>> Thanks,
>>   Thomas
>
> Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
> 
>   ayang review, improve documentation for assert.

> this is going to change anyway and is imho a more appropriate time to reconsider this (and will probably naturally fix itself).

OK.

> What is an "effective-region" in this context?

I meant effectively-empty region.

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

Marked as reviewed by ayang (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16766#pullrequestreview-1748096393


More information about the hotspot-gc-dev mailing list