JDK-6914126 : VM crash when using vm Option -XX:+DoEscapeAnalysis together with G1 gc
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6u17
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2010-01-05
  • Updated: 2011-02-16
  • Resolved: 2010-01-05
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
vm_info: Java HotSpot(TM) 64-Bit Server VM (14.3-b01) for linux-amd64 JRE (1.6.0_17-b04), built on Oct 11 2009 01:08:48 by "java_re" with gcc 3.2.2 (SuSE Linux)

FULL OS VERSION :
uname:Linux 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64

A DESCRIPTION OF THE PROBLEM :
I was surprised by a vm crash when i played around with a very simple method that creates ArrayLists using the vm options
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+DoEscapeAnalysis
The crash only happens when i use both options.

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Use the source method below and set vm options
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+DoEscapeAnalysis

EXPECTED VERSUS ACTUAL BEHAVIOR :
vm should not crash
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Attached Seperatly

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
     public void ObjectCreation() {
        int nObjects=100000;
        for(int i=0; i < 1000; i++){
            ArrayList<String> a = new ArrayList<String>();
        }

        for(int i=0; i < nObjects; i++){

            ArrayList<String> a = new ArrayList<String>();
        }

     }
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
The crash only happens when i set these vm options
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+DoEscapeAnalysis
it doesn`t happen when i drop -XX:+DoEscapeAnalysis