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

Jon Masamitsu jon.masamitsu at oracle.com
Fri Nov 6 15:50:31 UTC 2015


Kim,

Thanks for the review.

Jungwoo,

I'm  going to spend a little bit of time trying to write a test.
A day or so and then I'll push it, with or without a test.

Jon

On 11/5/2015 10:40 PM, Kim Barrett 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.
>



More information about the hotspot-gc-dev mailing list