JDK-7009379 : G1: Dtrace probes in G1 are not correct
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2010-12-28
  • Updated: 2015-11-20
  • Resolved: 2014-08-20
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 9
9Fixed
Related Reports
Relates :  
Description
During verification of 6896624 I've got that for some probes commited size is less then init size.

Test name is:
 dtrace/hotspot/GC/GC001


To reproduce:
-->export CLASSPATH=/net/sqenfs-1.sfbay/export1/comp/vm/testbase/sqe/vm/6/build/execution/vm/bin/classes

-->/net/sqenfs-1.sfbay/export1/comp/vm/testbase/sqe/vm/6/build/execution/vm/src/dtrace/share/dscripts/hotspot/GC.d -c "/net/sqenfs-1.sfbay/export1/comp/vm/jdk/hsx/hs20/pit/04/jdk7b122/product/solaris-sparc/bin/java -client -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC  dtrace.hotspot.GC.GC001.GC001"


Here is part of output:

PROBE ARGS: mem-pool-gc-end
PROBE ARGS:   arg0=feea6520, (manager name pointer)
PROBE ARGS:   arg1=17, (manager name length)
PROBE ARGS:   arg2=fee85400, (pool name pointer)
PROBE ARGS:   arg3=10, (pool name length)
PROBE ARGS:   arg4=14680064, (init size)
PROBE ARGS:   arg5=136152, (used size)
PROBE ARGS:   arg6=3145728, (commited size)
PROBE ARGS:   arg7=4294967295, (max size)
mem-pool-gc-end: G1 Old Generation->G1 Old Gen
FAIL: mem-pool-gc-end: G1 Old Generation->G1 Old Gen: commited size=3145728 < init size=14680064
Also tests 
dtrace/hotspot/GC/GC002 
dtrace/hotspot/GC/GC003
fails with same reason

Comments
I think it's incorrect to compare the initial value with the current committed value, since we are allowed to shrink the old generation below the initial value.
19-08-2014