RFR(S): 8141356: Explicitly stop CMS threads during VM termination.
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Nov 4 17:51:02 UTC 2015
On 11/4/2015 9:33 AM, Jungwoo Ha wrote:
> Unfortunately, we cannot provide the test publicly.
> But we do have internal tests that triggers this bug, and got fixed
> with this patch.
Can you describe the circumstances that provoke the bug? Lots of
concurrent threads?
Lots of concurrent work in progress?
Jon
>
> On Wed, Nov 4, 2015 at 9:25 AM, Jon Masamitsu
> <jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>> wrote:
>
>
>
> On 11/3/2015 5:32 PM, Jungwoo Ha wrote:
>> Somehow I didn't receive Jon's email.
>> We've first noticed this on JDK8, but I think the bug is more
>> triggered with the tcmalloc + custom launcher.
>>
>
> Jungwoo,
>
> Do you have a test that exhibits the bug?
>
> Jon
>
>>
>>
>> On Tue, Nov 3, 2015 at 4:14 PM, Carsten Varming
>> <varming at gmail.com <mailto:varming at gmail.com>> wrote:
>>
>> Dear Jon,
>>
>> I am pretty sure this has been that way for a long time. I
>> have never seen a problem, but I would like to see Hotspot
>> shut down its threads as well.
>>
>> Carsten
>>
>> On Tue, Nov 3, 2015 at 5:40 PM, Jon Masamitsu
>> <jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>>
>> wrote:
>>
>> Jungwoo,
>>
>> Did you first see this bug in jdk8? I'm wondering if it
>> was always broken.
>>
>> Jon
>>
>> On 11/03/2015 01:14 PM, Jungwoo Ha wrote:
>>> BUG: https://bugs.openjdk.java.net/browse/JDK-8141356
>>> Webrev:
>>> http://cr.openjdk.java.net/~jwha/8141356/webrev.00/
>>> <http://cr.openjdk.java.net/%7Ejwha/8141356/webrev.00/>
>>>
>>> Inside before_exit(), it says
>>>
>>> // Stop concurrent GC threads
>>> Universe::heap()->stop();
>>>
>>> but GenCollectedHeap never implemented stop() method,
>>> and thus calling empty SharedHeap::stop() method.
>>> This causes CMS threads to run during the VM termination
>>> and ends up crashing.
>>> ConcurrentMarkSweepThread::stop() is currently a dead
>>> code and never gets called.
>>> The patch just implemented GenCollectedHeap::stop() to
>>> call ConcurrentMarkSweepThread::stop().
>>>
>>> Can someone sponsor this patch?
>>>
>>> --
>>> Jungwoo Ha | Google | jwha at google.com
>>> <mailto:jwha at google.com>
>>>
>>
>>
>>
>>
>>
>> --
>> Jungwoo Ha | Java Platform Team | jwha at google.com
>> <mailto:jwha at google.com>
>>
>
>
>
>
> --
> Jungwoo Ha | Java Platform Team | jwha at google.com <mailto:jwha at google.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20151104/ef07bd3e/attachment.htm>
More information about the hotspot-gc-dev
mailing list