Heads-up: guarantee(obj->mark() == markOopDesc::encode(mid)) failed

Roman Kennke rkennke at redhat.com
Tue Jun 13 17:58:21 UTC 2017


Double pass over the monitors, once for update, once for evac? Or maybe once in SP cleanup and once for evac?

Am 13. Juni 2017 19:46:14 MESZ schrieb Aleksey Shipilev <shade at redhat.com>:
>On 06/12/2017 11:18 AM, Aleksey Shipilev wrote:
>> Hey Roman,
>> 
>> I think ShenandoahMergeSafepointCleanup has a bug somewhere, because
>this seems
>> to fail with moderate frequency:
>> 
>> $ build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java -jar
>> ~/Install/jcstress/jcstress-tests-all-2017-06-12.jar --jvmArgs
>> "-XX:+UseShenandoahGC -XX:ShenandoahGCHeustics=aggressive
>> -XX:+UnlockExperimentalVMOptions
>-XX:+ShenandoahMergeSafepointCleanup" -t
>> WeakReference -m stress
>> 
>> 
>> #  Internal Error
>>
>(/home/shade/trunks/shenandoah-jdk9/hotspot/src/share/vm/runtime/synchronizer.cpp:1611),
>> pid=12272, tid=12292
>> #  guarantee(obj->mark() == markOopDesc::encode(mid)) failed:
>invariant
>> 
>> 
>> http://cr.openjdk.java.net/~shade/shenandoah/hs_err_pid12272.log
>> 
>> Please take a look?
>
>It seems to always crash like this:
> https://paste.fedoraproject.org/paste/x2hklWE3oq9DOyn1FNfCOQ
>
>I.e. we try to deflate some monitor that seems already deflated, and
>the failure
>always happens at full GC that follows cancellation. A clue, perhaps?
>
>-Aleksey

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.


More information about the shenandoah-dev mailing list