RFR: AlwaysPreTouch fails with non-default ConcGCThreads
Aleksey Shipilev
shade at redhat.com
Fri Jun 15 13:19:04 UTC 2018
http://cr.openjdk.java.net/~shade/shenandoah/assert-gcworkers-fix/webrev.01/
Fails like this, because we assert_gc_workers outside the safepoint and check current thread count
against ConcGCThreads, while we are actually using max workers:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error
(/home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:2318),
pid=50979, tid=50982
# assert(nworkers <= ConcGCThreads) failed: Cannot use more than it has
#
Replacing with ShPushWorkerScope which gives us the do_check flag that avoids the bad assert.
ShPushWorkerScope is fixed to actually check things!
Testing: tier3_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list