Application failure with traversal
Lennart Börjeson
lennart.borjeson at cinnober.com
Fri Feb 9 19:09:46 UTC 2018
> 9 feb. 2018 kl. 19:42 skrev Aleksey Shipilev <shade at redhat.com>:
>
> On 02/09/2018 07:38 PM, Lennart Börjeson wrote:
>>
>>
>>> 9 feb. 2018 kl. 19:18 skrev Lennart Börjeson <lennart.borjeson at cinnober.com>:
>>>
>>>
>>>
>>>> 9 feb. 2018 kl. 18:36 skrev Aleksey Shipilev <shade at redhat.com>:
>>>>
>>>> On 02/09/2018 06:27 PM, Lennart Börjeson wrote:
>>>>>> c) C2: -XX:-TieredCompilation
>>>>>
>>>>> Fails.
>>>>
>>>> OK, both good and bad! And that is without any GC cycle happening, right? If so, that must
>>>> definitely point at something gone wrong in C2, which means we can use passive mode, and gradually
>>>> narrow down which part had failed (in order of most probability):
>>>>
>>>> 0) Run with -XX:-TieredCompilation -XX:ShenandoahGCHeuristics=passive
>>> Runs OK.
>>>> 1) Add -XX:+ShenandoahBarriersForConst
>>> Runs OK.
>>>> 2) Add -XX:+ShenandoahAsmWB
>>> Runs OK.
>>>> 3) Add -XX:+ShenandoahReadBarrier
>>> Fails.
>>>> 4) Add -XX:+ShenandoahWriteBarrier
>>> Fails.
>>>> 5) Add -XX:-ShenandoahWriteBarrierRB
>>> Fails.
>>>> 6) Add -XX:+ShenandoahStoreValEnqueueBarrier
>>> Fails.
>>>> 7) Add -XX:+ShenandoahCASBarrier
>>> Fails.
>>>> 8) Add -XX:+ShenandoahAcmpBarrier
>>> Fails.
>>>> 9) Add -XX:+ShenandoahCloneBarrier
>>> Fails.
>>>>
>>>> -Aleksey
>>>>
>>>
>>> I also ran with all barriers except ReadBarrier enabled, i.e. with -XX:-TieredCompilation -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahBarriersForConst -XX:+ShenandoahAsmWB -XX:-ShenandoahReadBarrier -XX:+ShenandoahWriteBarrier -XX:-ShenandoahWriteBarrierRB -XX:+ShenandoahStoreValEnqueueBarrier -XX:+ShenandoahCASBarrier -XX:+ShenandoahAcmpBarrier -XX:+ShenandoahCloneBarrier
>>>
>>> Run OK.
>>
>> Sorry, missed a barrier in that test, but enabling ShenandoahWriteBarrierRB didn't cause any failure, i.e.
>> -XX:-TieredCompilation
>> -XX:ShenandoahGCHeuristics=passive
>> -XX:+ShenandoahBarriersForConst
>> -XX:+ShenandoahAsmWB
>> -XX:-ShenandoahReadBarrier
>> -XX:+ShenandoahWriteBarrier
>> -XX:+ShenandoahWriteBarrierRB
>> -XX:+ShenandoahStoreValEnqueueBarrier
>> -XX:+ShenandoahCASBarrier
>> -XX:+ShenandoahAcmpBarrier
>> -XX:+ShenandoahCloneBarrier
>>
>> This test ran OK.
>
> Ok, minimizing in further, does it fail with RB alone?
>
> -XX:-TieredCompilation
> -XX:ShenandoahGCHeuristics=passive
> -XX:+ShenandoahReadBarrier
>
> If not, what is the preceding flags are making it fail, e.g. -XX:+ShenandoahBarriersForConst or
> -XX:+ShenandoahAsmWB?
>
> -Aleksey
It does not fail with RB alone.
ShenandoahBarriersForConst must be enabled, i.e. these switches FAIL:
/home/tetest/TE/system/jdk/shenandoah/bin/te_cd1 -cp /home/tetest/TE/system/tmp/9.2.0-cd1-shenandoah-b6b99905e2ce9889849423a089815f73.jar -server -Xms2400M -Xmx4800M -XX:+PrintFlagsFinal -Xlog:gc*=info:stdout:uptime,uptimenanos,timenanos,level,tags --add-modules java.xml.bind --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED -XX:+UseShenandoahGC -XX:ConcGCThreads=8 -XX:ParallelGCThreads=4 -XX:MonitorBound=20000 -XX:-UseBiasedLocking -XX:+DoEscapeAnalysis -XX:+UseNUMA -XX:+UnlockExperimentalVMOptions -XX:-TieredCompilation -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahBarriersForConst -XX:-ShenandoahAsmWB -XX:+ShenandoahReadBarrier -XX:-ShenandoahWriteBarrier -XX:-ShenandoahWriteBarrierRB -XX:-ShenandoahStoreValEnqueueBarrier -XX:-ShenandoahCASBarrier -XX:-ShenandoahAcmpBarrier -XX:-ShenandoahCloneBarrier -DRoundRobinPrio=0 -DHibernate3=true -DdumpConfig=VALUE -Djava.net.preferIPv4Stack=true -Djava.util.prefs.systemRoot=/home/tetest com.cinnober.framework.server.impl.FwStart --stdouttolog --stderrtolog -s CD1 -r http://frank-10g.cinnober.com:22780 -i TE -v com.cinnober.common.version.TeVersion
/Lennart
More information about the shenandoah-dev
mailing list