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