RFR: 8275277: assert(dest_attr.is_in_cset() == (obj->forwardee() == obj)) failed: Only evac-failed objects must be in the collection set here but <addr> is not

Albert Mingkun Yang ayang at openjdk.java.net
Fri Oct 15 12:23:00 UTC 2021


On Fri, 15 Oct 2021 10:12:56 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   can I have reviews for this fix of an incomplete assert?
> 
> When checking whether the forwardee equals the object, we first need to check whether the object is already forwarded, otherwise we might get false positives. See CR for more details (example).
> 
> Testing: gha, failing tests do not fail after 2k repetitions
> 
> Thanks,
>   Thomas

Ofc `obj` could be outside `cset`, and it's dangerous to call `forwardee` directly... Thank you for the analysis and the fix.

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

Marked as reviewed by ayang (Reviewer).

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



More information about the hotspot-gc-dev mailing list