RFR: 8008917 CMS: Concurrent mode failure tracing event

Kevin Walls kevin.walls at oracle.com
Thu Mar 7 08:52:00 PST 2013

Hi Erik -

Yes, now you mention it I can see the route to printing the old warning 
or logging the event twice...

I don't think it's reported as a problem, or maybe it's very rare and 
nobody has spotted it.

But assuming it's not a "user-requested" collection, to get that false 
"should_compact" in acquire_control_and_collect, we need to call 
decide_foreground_collection_type(), and when it calls 
incremental_collection_will_fail(), that returns false.

Possibly that is why we don't see the event reported twice in 
practice***: if we've got to this point, and state>Idling, we are 
usually here because that inc. collection would fail/is failing...


*** if anybody really does hit this, or think it's likely, we can look 

On 06/03/13 18:19, Erik Helin wrote:
> Hi Kevin,
> I think that there _might_ be a bug in CMS which was present even 
> before you added the event tracing.
> If you look in aquire_control_and_collect, you will see that 
> "should_compact" can be set to false by 
> decide_foreground_collection_type. If this is the case, then we will 
> end up in do_mark_sweep_work.
> The problem is that you have already reported, and CMS has already 
> printed, that a concurrent mode failure has occurred in 
> acquire_control_and_collect. Then, when you enter do_mark_sweep_work, 
> you will once again report, and CMS will again print, that concurrent 
> mode failure has happened.
> I am not 100% sure that I am right, by I believe that this can happen.
> What do you think?
> Thanks,
> Erik
> On 03/01/2013 06:34 PM, Kevin Walls wrote:
>> Hi,
>> I'd like some reviews on this CMS Concurrent Mode Failure event:
>> http://cr.openjdk.java.net/~kevinw/8008917/hotspot/
>> The event doesn't actually carry any new information, but it is a
>> warning we need to capture.
>> This is against hsx24, I'll prepare the same, or reviewed, changes
>> against very latest hotspot also.
>> Thanks
>> Kevin

More information about the hotspot-gc-dev mailing list