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

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Jul 31 18:49:36 UTC 2017


On 7/31/17 12:39 PM, Vladimir Kozlov wrote:
> Dan
>
> Can you put new code which used for assert check under #ifdef ASSERT to avoid side effects in product code?

That entire function is in a #ifdef ASSERT:

4360 #ifdef ASSERT
4361 void Threads::assert_all_threads_claimed() {
4362   ALL_JAVA_THREADS(p) {
4363     const int thread_parity = p->oops_do_parity();
4364     assert((thread_parity == _thread_claim_parity),
4365            "Thread " PTR_FORMAT " has incorrect parity %d != %d", 
p2i(p), thread_parity, _thread_claim_parity);
4366   }
4367   VMThread* vmt = VMThread::vm_thread();
4368   const int thread_parity = vmt->oops_do_parity();
4369   assert((thread_parity == _thread_claim_parity),
4370          "VMThread " PTR_FORMAT " has incorrect parity %d != %d", 
p2i(vmt), thread_parity, _thread_claim_parity);
4371 }
4372 #endif // ASSERT

Thanks for the review!

Dan


>
> Thanks
> Vladimir
>
>> On Jul 31, 2017, at 10:26 AM, Daniel D. Daugherty <daniel.daugherty at oracle.com> wrote:
>>
>> Thanks for the re-review! (and for the reworded comment...)
>>
>> Dan
>>
>>> On 7/31/17 11:24 AM, Aleksey Shipilev wrote:
>>>> On 07/31/2017 07:07 PM, Daniel D. Daugherty wrote:
>>>> Latest webrev: http://cr.openjdk.java.net/~dcubed/8185273-webrev/1/
>>>>
>>>> Only src/share/vm/runtime/thread.cpp is changed relative to round 0:
>>>>
>>>> - Revised the comment in Threads::parallel_java_threads_do.
>>>> - Added the assert to Threads::assert_all_threads_claimed().
>>>>
>>>> Comments, questions and feedback are welcome.
>>> Looks good!
>>>
>>> -Aleksey
>>>
>>> P.S. Roman: I'm going to cherry-pick that to Shenandoah after this lands to jdk10/hs.
>>>




More information about the hotspot-gc-dev mailing list