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