RFR(XS) 8153834: G1 Card table verification fails due to concurrent region cleanup
Thomas Schatzl
thomas.schatzl at oracle.com
Tue Apr 12 12:49:54 UTC 2016
Hi Mikael,
On Tue, 2016-04-12 at 14:33 +0200, Mikael Gerdin wrote:
> Hi all,
>
> Please review this small fix to an issue with -XX:+G1VerifyCTCleanup
> we
> discovered recently.
> The problem is that concurrent region freeing
> (G1ConcurrentMark::complete_cleanup()) can run concurrently with a
> young
> gc after the cleanup pause. If the concurrent cleanup is not finished
> when the young gc verifies the card table then the verification can
> see
> 0s in the card table where there should be none.
>
> Suggested fix is to have not-PRODUCT vms await concurrent region
> freeing
> before verifying the card table by calling
> wait_while_free_regions_coming()
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8153834
> Webrev: http://cr.openjdk.java.net/~mgerdin/8153834/webrev.0
> Testing: RBT GC testing in progress, local testing of reproducer
looks good to me.
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list