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

ZGC: Race in clearing of remembered sets

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 24
    • 24
    • hotspot
    • gc
    • b14

    Description

      When a young collection is in the "concurrent mark" phase and is scanning remembered sets (remsets) to find roots into the young gen it "consumes" the remset when it is finished by clearing it (using memset).

      At the same time, an old collection might find a completely empty/garbage page that it will insert into the page cache. Before inserting into the page cache, the page's remset is cleared (using memset).

      These two operations might interfere, resulting in both threads clearing the memory simultaneously.

      This race was found in connection to https://bugs.openjdk.org/browse/JDK-8339161 where I experimented replacing some clears of remsets with free's and got a crash on Windows from memset when operating on free'd memory.

      Attachments

        Issue Links

          Activity

            People

              jsikstro Joel Sikstrom
              jsikstro Joel Sikstrom
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: