RFR 8085965: VM hangs in C2Compiler

Poonam Bajaj Parhar poonam.bajaj at oracle.com
Thu Jun 11 13:42:40 UTC 2015

Hello Thomas,

Yes, they appear to be related. JDK-8059128 is for G1 and bug 8085965 is 
for CMS but the problem in both bugs is same.


On 6/11/2015 6:28 AM, Thomas Schatzl wrote:
> Hi,
> On Wed, 2015-06-10 at 14:20 -0700, Poonam Bajaj Parhar wrote:
>> Please review the code changes to fix:
>> 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/
>    it looks like this is the same problem as JDK-8059128 for G1 which has
> been closed as Incomplete. The log attached to the CR also shows that
> class unloading is disabled manually.
> Could they be related after all?
> Thanks,
>    Thomas

More information about the hotspot-gc-dev mailing list