Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8153360

G1HRRSFlushLogBuffersOnVerify with remembered set verification does not work

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b21

      Description

      Remembered set verification at least with G1HRRSFlushLogBuffersOnVerify introduced by JDK-6817419 does not work.

      Several reasons, all related to how the log buffer flushing is done: it calls G1RemSet::update_rs which at the time the flush is done can not be called for several reasons:

      - update_rs updates several timing in G1GCPhaseTimes. This means that during GC this data structure will be updated several times for three sets of timings. This actually gives various assertion failures during GC already. (That has been introduced later than this CR).

      - G1RemSet::updateRS() needs to have a properly set up the G1RemSet::_cset_rs_update_cl before calling it. This is not done, they are NULL, causing SIGSEGVs.
      These _cset_rs_update_cl's would need to be special for updating the remembered set during this time too, i.e. can't use the ones from evacuation. This is not the case.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ehelin Erik Helin
                Reporter:
                tschatzl Thomas Schatzl
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: