RFR: Fix assertion failure due to race while pre-evacuating Jvmti roots

Aleksey Shipilev shade at redhat.com
Thu Nov 1 16:04:33 UTC 2018


On 11/01/2018 05:01 PM, Zhengyu Gu wrote:
> After pushing pre-evacuation of Jvmti roots, further tests revealed that early/other pre-evacuation
> tasks may race to evacuate oops in Jvmti roots, that resulted assertion failure
> (shenandoah_assert_not_forwarded) in ShenandoahIsAliveClosure, use ShenandoahForwardedIsAliveClosure
> instead.
> 
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_fix/webrev.00/

OK. That root must be visited through some other way, right? Because try_claim_task should have
arbitrated the pre-evacuation between threads?

-Aleksey



More information about the shenandoah-dev mailing list