RFR 8085965: VM hangs in C2Compiler

Poonam Bajaj Parhar poonam.bajaj at oracle.com
Wed Jun 10 21:20:16 UTC 2015

Please review the code changes to fix:
JDK-8085965: <https://bugs.openjdk.java.net/browse/JDK-8085965> VM hangs 
in C2Compiler

Problem and fix:
In JDK8, CMSClassUnloadingEnabled option which is used to control the 
class-unloading in CMS, was enabled by default. But if the user 
specifies -Xnoclassgc or -XX:-ClassUnloading on the command line then 
classes get unloaded but updating of subklasses/siblings links gets 
skipped by the ClassUnloading check in the following function:

/void Klass::clean_weak_klass_links(BoolObjectClosure* is_alive, bool /
/clean_alive_klasses) {/
/   if (!ClassUnloading) {/
/     return;/
/   }

/which corrupts the class hierarchy links causing hangs and crashes.

This fix honors -XX:-ClassUnloading and -Xnoclassgc options and disables 
class unloading with CMS.

Webrev: http://cr.openjdk.java.net/~poonam/8085965/webrev/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20150610/7770e2db/attachment.html>

More information about the hotspot-gc-dev mailing list