Request for Review 8024483 - assertion failure: (!mirror_alive || loader_alive) failed AND 8024954: CMS: CMSClassUnloadingMaxInterval is not implemented correctly
Bengt Rutisson
bengt.rutisson at oracle.com
Fri Nov 8 06:48:10 UTC 2013
Hi Jon,
On 11/5/13 7:22 PM, Jon Masamitsu wrote:
> I've updated the webrev for 8024954 for review
> comments (thanks, Bengt)
>
> http://cr.openjdk.java.net/~jmasa/8024954/webrev.02/
Looks good.
Sorry for not replying earlier. The cr.openjdk.java.net server was down
my whole workday after you sent this out. And yesterday I had forgotten
about it.
Bengt
>
> On 11/1/2013 5:02 PM, Jon Masamitsu wrote:
>> 8024483 - assertion failure: (!mirror_alive || loader_alive) failed
>>
>> The default value of _should_unload_classes in CMSCollector is false.
>> The default value of CMSClassUnloadingEnabled is true (changed in jdk8)
>> and is used to set the root scanning options. This inconsistency
>> leads to
>> dead class loaders without unloading classes.
>>
>> The fix for 8024954 fixes (or works around) this inconsistency by
>> resetting
>> the root scanning options based on _should_unload_classes.
>>
>> Additionally there is a missing call to
>> update_should_unload_classes() in
>> the CMS foreground collector. Adding the call allows the test for
>> CMSClassUnloadingEnabled to pass but may not be a complete fix.
>>
>> http://cr.openjdk.java.net/~jmasa/8024483/webrev.00/
>>
>>
>> 8024954: CMS: CMSClassUnloadingMaxInterval is not implemented correctly
>>
>> For 8024954 the classes used as roots was being set at initialization
>> based on
>> the value of CMSClassUnloadingEnabled. For a value of
>> CMSClassUnloadingMaxInterval
>> greater than 1, the roots need to be set dynamically
>> (done in CMSCollector::setup_cms_unloading_and_verification_state
>> with this fix).
>>
>> http://cr.openjdk.java.net/~jmasa/8024954/webrev.01/
>
>
More information about the hotspot-gc-dev
mailing list