RFR(xxs): 8213236: A partial removed/deleted JavaThread cannot transition
Robbin Ehn
robbin.ehn at oracle.com
Fri Nov 2 08:21:38 UTC 2018
On 11/2/18 12:56 AM, David Holmes wrote:
> +2 :)
Thanks David!
/Robbin
>
> Thanks,
> David
>
> PS. Thanks Dan for explaining the issue in the bug report!
>
> On 2/11/2018 5:31 AM, Erik Osterlund wrote:
>> +1
>>
>> /Erik
>>
>>> On 1 Nov 2018, at 20:22, Robbin Ehn <robbin.ehn at oracle.com> wrote:
>>>
>>> Hi Dan,
>>>>> I don't think we should grab Heap_lock at all and we should just remove it.
>>>>> If there is a problem with "unparseable heap", taking Heap_lock seems to
>>>>> the wrong solution.
>>>> I don't think you want to drob the grab of the Heap_lock from
>>>> this code path as part of this fix. That should be done separately.
>>>> Of course, you have GC folks close to you so you might be able to
>>>> resolve the issue (theoretically) quickly. However, I think that
>>>> will mean that this fix needs more testing.
>>>
>>> I was wrong, we can do as you say just skip safepoint checks on Heap_lock.
>>>
>>> The incremental is:
>>> diff -r f5f6ed30bb13 src/hotspot/share/runtime/thread.cpp
>>> --- a/src/hotspot/share/runtime/thread.cpp Thu Nov 01 20:10:18 2018 +0100
>>> +++ b/src/hotspot/share/runtime/thread.cpp Thu Nov 01 20:17:58 2018 +0100
>>> @@ -4289,1 +4289,1 @@
>>> - MutexLocker ml(Heap_lock);
>>> + MutexLockerEx ml(Heap_lock, Mutex::_no_safepoint_check_flag);
>>> diff -r f5f6ed30bb13 src/hotspot/share/runtime/vmThread.cpp
>>> --- a/src/hotspot/share/runtime/vmThread.cpp Thu Nov 01 20:10:18 2018 +0100
>>> +++ b/src/hotspot/share/runtime/vmThread.cpp Thu Nov 01 20:17:58 2018 +0100
>>> @@ -323,1 +323,1 @@
>>> - assert(((JavaThread*)Thread::current())->is_terminated(), "Should be off
>>> threadslist");
>>> + assert(((JavaThread*)Thread::current())->is_terminated(), "Should be
>>> terminated");
>>>
>>> Re-running t1-2, I expect no problems.
>>>
>>> Thanks!
>>>
>>> /Robbin
>>>
>>>> Dan
>>>>>
>>>>> /Robbin
>>>>>
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>>
>>>>>>> _should_terminate = true;
>>>>>>> VMOperationQueue_lock->notify();
>>>>>>> }
>>>>>>>
>>>>>>> Passes t1-2.
>>>>>>>
>>>>>>> Thanks Robbin
>>>>>>
>>
More information about the hotspot-runtime-dev
mailing list