JDK-6908215 : G1: SEGV with G1PolicyVerbose=2 debug flag
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-12-08
  • Updated: 2013-09-18
  • Resolved: 2010-02-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 Other
6u21Fixed hs17Fixed
While investigating 6899058 and 6902155 I turned on the G1PolicyVerbose flag by setting it to '2' in order to get verbose information about the various HeapRegions and their particular roles (young, survivor, non-young, gc-alloc etc) while running the test case.

Setting G1PolicyVerbose=2 causes a SIGSEGV in CollectionSetChooser::printSortedHeapRegions.

The code in that routine does not take into account that there are null entries in the _markedRegions growable array. If we look at the verify routine, only the entires between _curMarkedIndex and _numMarkedRegions are non-null.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9dc2adf2cbe0

EVALUATION See description.