Assert in rebuild remset closure uses the wrong liveness in informational text

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: P5
    • 11
    • Affects Version/s: 11
    • Component/s: hotspot
    • gc

      in G1RemSet.cpp the assert that checks the liveness uses the wrong liveness when printing on error:

            assert(!hr->is_old() ||
                   top_at_rebuild_start == NULL ||
                   total_marked_bytes == _cm->liveness(region_idx) * HeapWordSize,
                   "Marked bytes " SIZE_FORMAT " for region %u (%s) in [bottom, TAMS) do not match liveness during mark " SIZE_FORMAT " "
                   "(" PTR_FORMAT " " PTR_FORMAT " " PTR_FORMAT ")",
                   total_marked_bytes, hr->hrm_index(), hr->get_type_str(), _cm->liveness(region_idx) * HeapWordSize,
                   p2i(hr->bottom()), p2i(top_at_mark_start), p2i(top_at_rebuild_start));

      i.e. the "_cm->liveness(region_idx) * HeapWordSize" should actually just be "hr->marked_bytes()".

            Assignee:
            Thomas Schatzl
            Reporter:
            Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: