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

Jon Masamitsu jon.masamitsu at oracle.com
Wed Nov 11 17:27:31 UTC 2015


Jungwoo,

I reworked the patch just a bit.

http://cr.openjdk.java.net/~jmasa/8141356/webrev.00/

I moved the definition of stop() to the .cpp file.  The .cpp
file already had an include of concurrentMarkSweepThread.hpp
and I think we're trying to minimize the include of .hpp files
into other .hpp files.

I also added the guard

#if INCLUDE_ALL_GCS There is a build that does not include all the GC 
and the guard is needed in that build. Is this version all right with 
you? Jon


On 11/8/2015 9:55 AM, Jungwoo Ha wrote:
> Thanks for the review, Kim. --Jungwoo
>
> On Thu, Nov 5, 2015 at 10:40 PM, Kim Barrett <kim.barrett at oracle.com 
> <mailto:kim.barrett at oracle.com>> wrote:
>
>     On Nov 3, 2015, at 4:14 PM, Jungwoo Ha <jwha at google.com
>     <mailto:jwha at google.com>> 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().
>
>     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 <mailto:jwha at google.com>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20151111/0503d569/attachment.html>


More information about the hotspot-gc-dev mailing list