RFR(S): 8141356: Explicitly stop CMS threads during VM termination.

Jungwoo Ha jwha at google.com
Sun Nov 8 17:55:54 UTC 2015


Thanks for the review, Kim. --Jungwoo

On Thu, Nov 5, 2015 at 10:40 PM, Kim Barrett <kim.barrett at oracle.com> wrote:

> On Nov 3, 2015, at 4:14 PM, Jungwoo Ha <jwha at google.com> wrote:
> >
> > BUG: https://bugs.openjdk.java.net/browse/JDK-8141356
> > Webrev: http://cr.openjdk.java.net/~jwha/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().
>
> I was going to ask why CMS doesn’t have its own heap class where the
> implementation of stop should be placed.
> But I see that CMS is already significantly entangled with
> GenCollectedHeap.  Given that, change looks good.
>
>


-- 
Jungwoo Ha | Java Platform Team | jwha at google.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20151108/6164e381/attachment.htm>


More information about the hotspot-gc-dev mailing list