RFR: JDK-8221086: Shenandoah-specific workaround for JDK-8220671

Roman Kennke rkennke at redhat.com
Tue Mar 19 19:36:56 UTC 2019

I'll investigate a little more...

>> On Mar 19, 2019, at 2:23 PM, Roman Kennke <rkennke at redhat.com> wrote:
>> JDK-8220671: Initialization race for non-JavaThread PtrQueue is making
>> troubles in Shenandoah's testing. While we're working out a generally
>> acceptable solution, we need a usable workaround in Shenandoah.
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8221086
>> Webrev:
>> http://cr.openjdk.java.net/~rkennke/JDK-8221086/webrev.01/
>> The proposed fix places a SuspendibleThreadJoiner around the
>> on_thread_attach() and on_thread_detach(), thereby preventing the race.
>> As soon as we figured out a solution for JDK-8220671 (which may well be
>> this 'workaround') we shall revert/overwrite this change.
>> Testing: many rounds of hotspot_gc_shenandoah and even more rounds of
>> the offending TestStringDedupStress.
>> Ok?
>> Roman
> I was expecting there to be some shared code changes here, and not a pure shenandoah
> change.  Doesn’t this have the same problem as your “nope, needs coffee” proposal in the
> main email thread from yesterday?  The attach/list-add pair needs to be atomic wrto the
> SATB state change, and this doesn’t cover the list-add.

More information about the hotspot-gc-dev mailing list