# HG changeset patch # User tonyp # Date 1291314039 18000 # Node ID d9310331a29c3186d9b85caeefe16e14489ca50e # Parent fd1d227ef1b9500cc6174d0073651d82b95cb4d8 7003860: G1: assert(_cur_alloc_region == NULL || !expect_null_cur_alloc_region) fails Summary: Wrong assumption about expecting the current alloc region expected to be NULL in expand_and_allocate(). Reviewed-by: brutisso, ysr diff -r fd1d227ef1b9 -r d9310331a29c src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Dec 01 17:34:02 2010 -0800 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Dec 02 13:20:39 2010 -0500 @@ -920,8 +920,10 @@ bool expect_null_cur_alloc_region) { assert_at_safepoint(); assert(_cur_alloc_region == NULL || !expect_null_cur_alloc_region, - "The current alloc region should only be non-NULL if we're " - "expecting it not to be NULL"); + err_msg("the current alloc region was unexpectedly found " + "to be non-NULL, cur alloc region: "PTR_FORMAT" " + "expect_null_cur_alloc_region: %d word_size: "SIZE_FORMAT, + _cur_alloc_region, expect_null_cur_alloc_region, word_size)); if (!isHumongous(word_size)) { if (!expect_null_cur_alloc_region) { @@ -1597,7 +1599,7 @@ assert(regions_accounted_for(), "Region leakage!"); return attempt_allocation_at_safepoint(word_size, - true /* expect_null_cur_alloc_region */); + false /* expect_null_cur_alloc_region */); } size_t G1CollectedHeap::free_region_if_totally_empty(HeapRegion* hr) {