RFR: JDK-8221086: Shenandoah-specific workaround for JDK-8220671
kim.barrett at oracle.com
Tue Mar 19 18:41:27 UTC 2019
> 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.
> 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.
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