RFR: "Before Full GC" verification is too strong for OOME-during-evac
Aleksey Shipilev
shade at redhat.com
Fri Jun 2 13:29:56 UTC 2017
Our new heap verification code verifies that every object in collection set
should have a forwardee. This works almost everywhere, because we verify at
start/end of each phase, so e.g. evac should complete before verification starts.
However, testing reveals this is too strong for a corner case where we hit OOME
during evacuation. From there, we can go to Full GC with half-evacuated regions,
and verification would fail.
The answer is to separate cset and fwdptr verification, and allow Full GC
verification experience non-forwarded cset refs:
http://cr.openjdk.java.net/~shade/shenandoah/verifier-oome-evac/webrev.01/
Testing: hotspot_gc_shenandoah (was failing before)
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list