Problematic backport to 8u: "Ensure tasks use correct number of workers"

Zhengyu Gu zgu at redhat.com
Mon Oct 2 15:23:22 UTC 2017


Jdk8 workgang implementation is not flexible enough to support our 
single workgang approach. We may have to provide our own implementation 
(although, should be simple).

-Zhengyu

On 09/27/2017 07:15 AM, Aleksey Shipilev wrote:
> Tried to backport recent sh/jdk10 patch to sh/jdk8u, and got weird failures:
> 
> ~/trunks/shenandoah-jdk8/build/linux-x86_64-normal-server-fastdebug/images/j2sdk-image/bin/java
> -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -XX:+UnlockDiagnosticVMOptions
> -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=100 TestGCThreadGroups
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc:  SuppressErrorAt=/workgroup.hpp:335
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error
> (/home/shade/trunks/shenandoah-jdk8/hotspot/src/share/vm/utilities/workgroup.hpp:335), pid=49844,
> tid=0x00007f8d3988d700
> #  assert(UseDynamicNumberOfGCThreads || _active_workers == _total_workers) failed: Unless dynamic
> should use total workers
> 
> It seems the internals of workgroup.hpp are quite different.
> 
> The patch in question is:
>   http://cr.openjdk.java.net/~shade/shenandoah/shenandoah-8u-dynamic-workers.patch
> 
> Zhengyu, can you take a look how to adapt this to 8u properly? I'll skip this from backports for
> time being.
> 
> Thanks,
> -Aleksey
> 


More information about the shenandoah-dev mailing list