RFR 8085965: VM hangs in C2Compiler

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jun 11 13:28:49 UTC 2015


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