Request for Review 8024483 - assertion failure: (!mirror_alive || loader_alive) failed AND 8024954: CMS: CMSClassUnloadingMaxInterval is not implemented correctly
Jon Masamitsu
jon.masamitsu at oracle.com
Sat Nov 2 00:02:17 UTC 2013
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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20131101/4374f588/attachment.htm>
More information about the hotspot-gc-dev
mailing list