<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<big>8024483 - assertion failure: (!mirror_alive || loader_alive)
failed<br>
<br>
The default value of _should_unload_classes in CMSCollector is
false.<br>
The default value of CMSClassUnloadingEnabled is true (changed in
jdk8)<br>
and is used to set the root scanning options. This inconsistency
leads to<br>
dead class loaders without unloading classes.<br>
<br>
The fix for 8024954 fixes (or works around) this inconsistency by
resetting <br>
the root scanning options based on _should_unload_classes.<br>
<br>
Additionally there is a missing call to
update_should_unload_classes() in<br>
the CMS foreground collector. Adding the call allows the test for<br>
</big><big>CMSClassUnloadingEnabled to pass but may not be a
complete fix.<br>
<br>
<a class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Ejmasa/8024483/webrev.00/">http://cr.openjdk.java.net/~jmasa/8024483/webrev.00/</a><br>
<br>
</big><big> <br>
8024954: CMS: CMSClassUnloadingMaxInterval is not implemented
correctly<br>
<br>
For 8024954 the classes used as roots was being set at
initialization based on<br>
the value of <span class="removed">CMSClassUnloadingEnabled</span>.
For a value of CMSClassUnloadingMaxInterval<br>
greater than 1, the roots need to be set dynamically <br>
(done in CMSCollector::setup_cms_unloading_and_verification_state
with this fix).<br>
<br>
<a class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Ejmasa/8024954/webrev.01/">http://cr.openjdk.java.net/~jmasa/8024954/webrev.01/</a></big>
</body>
</html>