RFR: Reset TAMS for uncommitted empty regions to avoid leftover old values
Zhengyu Gu
zgu at redhat.com
Wed Jul 25 12:56:06 UTC 2018
TestSystemGCWithShenandoah failed with following assertion:
# Internal Error
(/home/jenkins/workspace/zgu/zgu-shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:529),
pid=74460, tid=74466
# assert(next_marking_context()->is_bitmap_clear()) failed: need clean
mark bitmap
It turns out that, when an uncommitted empty region in freeset gets
recommitted, it may have old TAMS value that causes concurrent marking
to mark the region, instead of treating it as all alive.
Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/traversal_tams/webrev.00/
Test:
tier3_gc_shenandoah with new test (fastdebug and release)
Thanks,
-Zhengyu
More information about the shenandoah-dev
mailing list