Application failure with traversal
Aleksey Shipilev
shade at redhat.com
Fri Feb 9 18:42:42 UTC 2018
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
More information about the shenandoah-dev
mailing list