URGENT RFR (S): fix for Test8004741.java crashes with SIGSEGV in JDK10-hs nightly (8185273)

Roman Kennke rkennke at redhat.com
Mon Jul 31 16:46:14 UTC 2017

Am 31.07.2017 um 17:14 schrieb Daniel D. Daugherty:
> On 7/31/17 8:42 AM, Roman Kennke wrote:
>> Hi Dan,
>> You could also do_thread() on the VMThread, and let the ThreadClosurer
>> filter it. I believe the ThreadClosure in safepoint.cpp (currently only
>> consumer) already filters it. This would make it consistent with
>> Threads::possibly_parallel_oops_do() (and infact, that latter method
>> could just use the new Threads::parallel_java_threads_do() but this is
>> beyond the scope). I leave that to you to decide though.
> I'm good with just adding the missing part of the "claims" protocol.
> I'm not comfortable with applying the closure to the VMThread since
> I'm just visiting the GC sandbox as it were... :-)

Ok. I'll do it in a followup then. IMO it would be best if there is
*one* place that does the claiming protocol (i.e.
parallel_java_threads_do() which should probably be renamed to
parallel_threads_do() ), and have possibly_parallel_oops_do() use that
via a private ThreadClosure. Best to do it asap, as long as there's only
1 user it's easy to see that it's correct ;-)

>> I'd also include the fix for assert_all_threads_claimed() because it's
>> related (and the cause for me not noticing this slip). But that is up to
>> you too. ;-)
> Yes, I plan to kick off another JPRT run with the additional fix for
> assert_all_threads_claimed()... If that goes well, then I'll include
> it...

> P.S.
> Reminder: you're supposed to be on vacation! (But I do appreciate
> you taking the time to chime in here...)
Yeah, I should be at the Atlantic already, but my son got sick and we
have to delay travel a little bit...

And in reply to Aleksey: yes there will be more callers of
Threads::parallel_java_threads_do() in the future :-) We've got one in
Shenandoah already...

Thanks for doing this!

More information about the hotspot-runtime-dev mailing list