JDK-6280548 : CMS: assert "There should not be any concurrent time", concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: linux
  • CPU: x86
  • Submitted: 2005-06-04
  • Updated: 2012-04-09
  • Resolved: 2012-04-09
Related Reports
Relates :  
Description
See:
http://vmsqe.sfbay/nightly/mantis/DTWS/results/05-28-05/ServerVM/64BITLINUX-AMD64/mixed/Gc_Baseline-Xconc/vm.gc-NIGHTLY-Gc_Baseline-Xconc-ServerVM-mixed-64BITLINUX-AMD64-2005-05-29-01-51-06/analysis.html

The following nightly tests on 05/05/28 failed the above assertion
on account of this bug:

     gc.memory.FillingStation
     gc.gctests.Compact.compact007
     gc.gctests.Compact.compact008
     gc.gctests.WeakReference.weak001
     gc.gctests.Compact.compact015
     gc.gctests.Compact.compact014

However, these tests have not failed on subsequent nights, even when testing
the same bits. This bug is thus a placeholder for further investigation
should the error recur in the future.

Here is a typical rerun.sh file for one of the tests:
======================================================
#!/bin/sh

HOME=/home/fhsu
DISPLAY=vmsqe.sfbay:0.0
CLASSPATH=.:/var/tmp/Work/exec/vm.gc-NIGHTLY-Gc_Baseline-Xconc-ServerVM-mixed-64BITLINUX-AMD64-2005-05-29-01-51-06/run2/fhsu.Linux.amd64/FillingStation:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/vm.gc/testbase/bin/classes:/var/tmp/fhsu/Work/JDK/NIGHTLY/Gc_Baseline-Xconc/linux-amd64/lib/tools.jar
LD_LIBRARY_PATH=/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/vm.gc/testbase/src/nsk/share/lib/linuxamd64:/var/tmp/fhsu/Work/JDK/NIGHTLY/Gc_Baseline-Xconc/linux-amd64/jre/lib/amd64:/var/tmp/fhsu/Work/JDK/NIGHTLY/Gc_Baseline-Xconc/linux-amd64/jre/lib/amd64/server:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/vm.gc/testbase/src/misc/gc/utils/lib/linuxamd64
RAS_OPTIONS=
SHELL=/bin/sh
PATH=.:/var/tmp/fhsu/Work/JDK/NIGHTLY/Gc_Baseline-Xconc/linux-amd64/bin:/bin:/usr/bin:/var/tmp/fhsu/Work/JDK/NIGHTLY/Gc_Baseline-Xconc/linux-amd64/jre/bin

while [ $# -gt 0 ];
do
  if [ $1 = "-jdk" ]; then
        shift 1
        PATH=${1}/bin:${PATH}
        shift 1
  else
        if [ $1 = "-d" ]; then
          shift 1
          if [ $# -gt 0  ]; then
                DISPLAY=$1
                shift 1
          else
                DISPLAY=:0.0
          fi
        fi
  fi
done

export HOME
export DISPLAY
export CLASSPATH
export LD_LIBRARY_PATH
export RAS_OPTIONS
export SHELL
export PATH

#annotate TEST javaopt=-server -Xmixed -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent
#/net/jano/export/disk05/hotspot/users/ysr/testing/linux-amd64/jdk1.6.0/fastdebug/bin/java -server -Xmixed -DHANGINGJAVA20624 -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+ShowMessageBoxOnError FillingStation
/net/jano/export/disk05/hotspot/users/ysr/testing/linux-amd64/jdk1.6.0/fastdebug/bin/java -server -Xmixed -DHANGINGJAVA20624 -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+ShowMessageBoxOnError FillingStation
# /java/re/jdk/1.6.0/promoted/latest/binaries/linux-amd64/bin/java -server -Xmixed -DHANGINGJAVA20624 -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+ShowMessageBoxOnError FillingStation
##Exit status of execution step=134
##!checkExitCode

## To suppress the following error report, specify this argument
## after -XX: or in .hotspotrc:  SuppressErrorAt=/cmsAdaptiveSizePolicy.cpp:368]
##
## An unexpected error has been detected by HotSpot Virtual Machine:
##
##  Internal Error (/PrtBuildDir/workspace/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp, 368), pid=25226, tid=1079327088
##
## Java VM: Java HotSpot(TM) 64-Bit Server VM (20050525150425.ysr.bugs-debug mixed mode)
##
## Error: assert(_latest_cms_sum_concurrent_phases_time_secs == 0.0,"There should not be any concurrent time")
## An error report file with more information is saved as hs_err_pid25226.log
##
## If you would like to submit a bug report, please visit:
##   http://java.sun.com/webapps/bugreport/crash.jsp
##
#Current thread is 1079327088
#Dumping core ...

###@###.### 2005-06-04 01:20:36 GMT

Comments
EVALUATION This work was part of the CMS ergonomics work which was never finished and likely won't be finished in it's current form.
09-04-2012

SUGGESTED FIX Event: putback-to Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/main/gc_baseline (jano.sfbay:/export/disk05/hotspot/ws/main/gc_baseline) Child workspace: /net/prt-web.sfbay/prt-workspaces/20050721104708.jmasa.gc_baseline_6280548/workspace (prt-web:/net/prt-web.sfbay/prt-workspaces/20050721104708.jmasa.gc_baseline_6280548/workspace) User: jmasa Comment: --------------------------------------------------------- Original workspace: arches:/net/producer/export3/jmasa/gc_baseline_6280548 Submitter: jmasa Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2005/20050721104708.jmasa.gc_baseline_6280548/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2005/20050721104708.jmasa.gc_baseline_6280548/workspace/webrevs/webrev-2005.07.21/index.html Partial 6280548: CMS: assert "There should not be any concurrent time" This change is to effectively remove a second assertion. The assertions are failing because the granularity of the time measurements do not resolve to finite values on some platforms. For now I'm guarding the assertions so they will not be compiled in. When I get back to cms ergo, I'll make a more permanent decision. Also guarded the ergonomics timing mearsurement with UseAdaptiveSizePolicy to eliminate any side effects of cms ergonomics on non-ergonomic configurations. Reviewed by: Ramki Fix verified (y/n): n Verification testing: The assertions has been deleted and so can no longer misfire. Other testing: Ran refworkload and compared before and after performance and no statistically significant differences (10 runs) were seen. Files: update: src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp update: src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp update: src/share/vm/memory/concurrentMarkSweepGeneration.cpp update: src/share/vm/memory/parNewGeneration.cpp Examined files: 3287 Contents Summary: 4 update 3283 no action (unchanged)
15-08-2005

SUGGESTED FIX The assert has been temporarily disabled with search for the real cause deferred to the future; this will be revisited at a lower priority as a result. Event: putback-to Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/main/gc_baseline (jano.sfbay:/export/disk05/hotspot/ws/main/gc_baseline) Child workspace: /net/prt-web.sfbay/prt-workspaces/20050616062502.jmasa.gc_baseline_6280548/workspace (prt-web:/net/prt-web.sfbay/prt-workspaces/20050616062502.jmasa.gc_baseline_6280548/workspace) User: jmasa Comment: --------------------------------------------------------- Original workspace: producer:/export3/jmasa/gc_baseline_6280548 Submitter: jmasa Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2005/20050616062502.jmasa.gc_baseline_6280548/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2005/20050616062502.jmasa.gc_baseline_6280548/workspace/webrevs/webrev-2005.06.16/index.html Partial 6280548: CMS: assert "There should not be any concurrent time" This assertion may or may not be too strong but it is causing failures during nightly testing so I'm (at least temporarily) removing it. It is used by cms ergonomics and since cms ergonomics is not complete, the assertion has very limited value. Reviewed by: Ramki and Peter Fix verified (y/n): n Verification testing: The assertion has been deleted and so can no longer misfire. Other testing: runThese -quick -testbase_vm -testbase_gc with a fastdebug c1 build. Fixed 6285575: Perm Gen size is not adjusted A call to compute_new_size() for the perm gen was omitted during the cms ergo work. This puts it back. Reviewed by: Ramki Fix verified (y/n): y Verification testing: This bug was reproducible with tomcat. The fix was verified with tomcat. Other testing: runThese with fastdebug, sparc, -quick -testbase_vm -testbase_gc runThese with product, sparc, -full -testbase_vm -testbase_gc Files: update: src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp update: src/share/vm/memory/concurrentMarkSweepGeneration.cpp update: src/share/vm/memory/concurrentMarkSweepGeneration.hpp Examined files: 3278 Contents Summary: 3 update 3275 no action (unchanged) ###@###.### 2005-06-17 21:33:04 GMT
17-06-2005

EVALUATION See comment for evaluation. ###@###.### 2005-06-04 06:13:53 GMT
04-06-2005