JDK-6458402 : 3 jvmti tests fail with CMS and +ExplicitGCInvokesConcurrent
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: hs12,6,7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,solaris
  • CPU: generic
  • Submitted: 2006-08-09
  • Updated: 2018-10-23
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
The following NSK tests fail when run with the -XX:+UseConcMarkSweepGC +ExplicitGCInvokesConcurrent options:

        nsk/jvmti/scenarios/allocation/AP03/ap03t001
        nsk/jvmti/scenarios/capability/CM02/cm02t001
        nsk/jvmti/unit/heap/BasicTagTests 

The link to the failure logs is here:
 http://vmsqe.sfbay/nightly/mantis/DTWS/results/08-07-06/ClientVM/solx86/mixed/Gc_Baseline-Xconc/nsk.jvmti-08-NIGHTLY-Gc_Baseline-Xconc-ClientVM-mixed-solx86-2006-08-08-00-32-12/analysis.html#New_Failures

and a sample tlog is:

#!/usr/bin/sh

CLASSPATH=/net/gtee.sfbay/export/nightly/mustang/DTWS/results/08-07-06/ClientVM/solx86/mixed/Gc_Baseline-Xconc/WORK_DIR/nsk.jvmti-08-NIGHTLY-Gc_Baseline-Xconc-ClientVM-mixed-solx86-2006-08-08-00-32-12/run2/gridadm.Solaris.x86/BasicTagTests:/net/gtee.sfbay/export/gtee/suites/testbase_vm.1.6/vm/bin/classes:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/lib/tools.jar
HOME=/var/tmp
RAS_OPTIONS=
LD_LIBRARY_PATH=/net/gtee.sfbay/export/gtee/suites/testbase_vm.1.6/vm/bin/lib/solaris-i586/nsk/share/jvmti/unit:/net/gtee.sfbay/export/gtee/suites/testbase_vm.1.6/vm/src/nsk/share/lib/solaris-i586:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/jre/lib/i386/client
PATH=/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/bin:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/jre/bin:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/jre/bin:/mksnt
DISPLAY=vmsqe.sfbay:0.0
SHELL=/usr/bin/sh

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 CLASSPATH
export HOME
export RAS_OPTIONS
export LD_LIBRARY_PATH
export PATH
export DISPLAY
export SHELL

#annotate TEST javaopt=-client -Xmixed -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -agentlib:Heap=-waittime=2
/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-i586/bin/java -client -Xmixed -DHANGINGJAVA19459 -XX:-PrintVMOptions -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -agentlib:Heap=-waittime=2 nsk.jvmti.unit.heap.BasicTagTests
##Exit status of execution step=1
##!checkExitCode

#VM option '-PrintVMOptions'
#VM option '+UseConcMarkSweepGC'
#VM option '+CMSPermGenSweepingEnabled'
#VM option '+CMSClassUnloadingEnabled'
#VM option '+ExplicitGCInvokesConcurrent'

#Exception in thread "main" java.lang.RuntimeException: Test failed - object not tagged
#	at nsk.jvmti.unit.heap.BasicTagTests.run(BasicTagTests.java:51)
#	at nsk.jvmti.unit.heap.BasicTagTests.main(BasicTagTests.java:23)
Also failing 

nsk/jvmti/scenarios/allocation/AP01/ap01t001
nsk/hprof/regression/HeapThrasher   (with G1)

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7246a374a9f2
14-01-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/7246a374a9f2
11-01-2011

SUGGESTED FIX It appears that VM_GenCollectFullConcurrent::doit is missing the hook for jvmti. The following is a tentative fix: ------- vmGCOperations.cpp ------- *** /tmp/sccs.N1a4Hb Wed Aug 9 10:02:10 2006 --- vmGCOperations.cpp Wed Aug 9 10:02:06 2006 *************** *** 121,126 **** --- 121,127 ---- // VM operation to invoke a concurrent collection of a // GenCollectedHeap heap. void VM_GenCollectFullConcurrent::doit() { + JvmtiGCFullMarker jgcm; assert(Thread::current()->is_VM_thread(), "Should be VM thread"); GenCollectedHeap* gch = GenCollectedHeap::heap();
09-08-2006