Application failure with traversal
Roman Kennke
rkennke at redhat.com
Fri Feb 9 19:24:40 UTC 2018
Cool. This shall give me a clue what might be going on. Does it still fail with:
diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp
b/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp
+++ b/src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp
@@ -1308,7 +1308,6 @@
FLAG_SET_DEFAULT(ShenandoahStoreValEnqueueBarrier, true);
FLAG_SET_DEFAULT(ShenandoahKeepAliveBarrier, false);
FLAG_SET_DEFAULT(ShenandoahAsmWB, true);
- FLAG_SET_DEFAULT(ShenandoahBarriersForConst, true);
FLAG_SET_DEFAULT(ShenandoahWriteBarrierRB, false);
FLAG_SET_DEFAULT(ShenandoahAllocImplicitLive, false);
}
applied?
I don't think this flag is actually required at this point, and should
even result in a performance boost.
Cheers, Roman
On Fri, Feb 9, 2018 at 8:09 PM, Lennart Börjeson
<lennart.borjeson at cinnober.com> wrote:
>
>
>> 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