Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6665210

Crash in first CMS when -XX:-UseParNewGC -XX:+ParallelRefProcEnabled specified

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 6
    • hotspot
    • gc
    • x86
    • solaris_10

      FULL PRODUCT VERSION :
      java version "1.6.0_04"
      Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
      Java HotSpot(TM) 64-Bit Server VM (build 10.0-b19, mixed mode)

      FULL OS VERSION :
      SunOS gold01 5.10 Generic_125101-07 i86pc i386 i86pc Solaris

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      X4600, 8xdual core AMD, local zone

      A DESCRIPTION OF THE PROBLEM :
      When starting our main application server with both -XX:-UseParNewGC -XX:+ParallelRefProcEnabled specified, we got a guaranteed crash and core dump on the first CMS run. Problem was not happening with 1.6.0_02. Any other combination of these two flags (+ and + or - and -) are not causing this crash. Both -server and -client are crashing.

      We used to have crashed after few hours with -XX:+UseParNewGC enabled ((Incident Review ID: 583589) JVM server crash in CMS collection), so we have disabled it for production runs. We will try to see if they are still happening with 1.6.0_04. If it is a case, we will also have to disable ParallelRefProcEnabled to get _04 working, which will affect our CMS pause times.

      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 :
      We run our application with following parameters

      java -d64 -server -XX:-OmitStackTraceInFastThrow -Xloggc:gc.log -Xmx5000m -Xms512m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:PermSize=128m -XX:+PrintTenuringDistribution -XX:MaxTenuringThreshold=8 -XX:NewSize=48m -XX:MaxNewSize=48m -XX:SurvivorRatio=5 -XX:+TraceClassUnloading -XX:+PrintHeapAtGC -XX:+CMSIncrementalMode -XX:CMSIncrementalDutyCycleMin=5 -XX:+CMSIncrementalPacing -XX:PrintCMSStatistics=1 -XX:-UseParNewGC -XX:+ParallelRefProcEnabled -cp /home/icomdev/MMS/lib/java/mmmasterserver.jar:/home/icomdev/MMS/lib/java/icomlib.jar com.cbksec.icom.server.core.MMServer -p -o SERVER -c /home/icomdev/MMS/etc/mmserver.config

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expected result is that application should run correctly. We are getting a crash few seconds after startup (when first CMS is running)

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Attached seperatly

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      Not reproducible with any simple application. Our main app is bit special in the way it uses a lot of weak references (tens of thousands probably by the time it crashes).
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Specify -XX:-UseParNewGC -XX:-ParallelRefProcEnabled OR -XX:+UseParNewGC -XX:+ParallelRefProcEnabled OR use 1.6.0_02.

      Release Regression From : 6u2
      The above release value was the last known release where this
      bug was not reproducible. Since then there has been a regression.

            ysr Y. Ramakrishna
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: