RFR 8085965: VM hangs in C2Compiler

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


Hello Erik,

Yes, this fix solves the same problem for CMS collector.

regards,
Poonam

On 6/11/2015 6:19 AM, Erik Österlund wrote:
> Hi Poonam,
>
> Just out of curiosity, does this fix exactly the same problem for G1? 
> I found the other day that it currently does not respect -Xnoclassgc 
> and had to make workarounds for that so the C2 compiler wouldn’t hang, 
> as can be seen in this webrev:
> http://cr.openjdk.java.net/~eosterlund/g1_dynamic_elision/noclassgc/webrev.00/ 
> <http://cr.openjdk.java.net/%7Eeosterlund/g1_dynamic_elision/noclassgc/webrev.00/>
>
> Thanks,
> /Erik
>
>> On 10 Jun 2015, at 23:20, Poonam Bajaj Parhar 
>> <poonam.bajaj at oracle.com <mailto:poonam.bajaj at oracle.com>> wrote:
>>
>> 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/
>>
>> Thanks,
>> Poonam
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150611/9448aacb/attachment.htm>


More information about the hotspot-gc-dev mailing list