RFR: AlwaysPreTouch fails with non-default ConcGCThreads

Zhengyu Gu zgu at redhat.com
Fri Jun 15 13:27:16 UTC 2018


Looks good.

-Zhengyu

On 06/15/2018 09:19 AM, Aleksey Shipilev wrote:
> 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