# HG changeset patch # User johnc # Date 1260431498 28800 # Node ID 9dc2adf2cbe0f55fd7e52a85e545b29a21308b86 # Parent 7bfd295ec07471aaf509d87c0c02fcbf06181375 6908215: G1: SEGV with G1PolicyVerbose=2 debug flag Summary: Change CollectionSetChooser::printSortedHeapRegions to handle null entries in _markedRegions growable array. Reviewed-by: jmasa, tonyp, iveresov diff -r 7bfd295ec074 -r 9dc2adf2cbe0 src/share/vm/gc_implementation/g1/collectionSetChooser.cpp --- a/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Tue Dec 08 15:12:17 2009 -0800 +++ b/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Wed Dec 09 23:51:38 2009 -0800 @@ -351,9 +351,16 @@ CollectionSetChooser::printSortedHeapRegions() { gclog_or_tty->print_cr("Printing %d Heap Regions sorted by amount of known garbage", _numMarkedRegions); + + DEBUG_ONLY(int marked_count = 0;) for (int i = 0; i < _markedRegions.length(); i++) { - printHeapRegion(_markedRegions.at(i)); + HeapRegion* r = _markedRegions.at(i); + if (r != NULL) { + printHeapRegion(r); + DEBUG_ONLY(marked_count++;) + } } + assert(marked_count == _numMarkedRegions, "must be"); gclog_or_tty->print_cr("Done sorted heap region print"); }