RFR: ShConcurrentThread races with set_gc_state_bit
Aleksey Shipilev
shade at redhat.com
Tue Jan 16 19:24:06 UTC 2018
http://cr.openjdk.java.net/~shade/shenandoah/single-flag-races/webrev.01/
Zhengyu found this peculiar race:
When ShConcurrentThread sets {evac,update_refs}_in_progress, the set_gc_state_bit checks for the
safepoint. It turns out, after we checked for the safepoint and entered the Thread_lock-free branch,
the safepoint may be over. The way out is to restore the *_concurrent family of methods, and acquire
Thread_lock there unconditionally.
Testing: hotspot_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list