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

ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8u40, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Environment:

      -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+ScavengeALot -XX:SurvivorAlignmentInBytes=2k -Xmx10m

    • Subcomponent:
      gc
    • Resolved In Build:
      b42

      Backports

        Description

        GC threads initialized much earlier than ConcurrentMarkThread::makeSurrogateLockerThread call is done, so with +ScavengeALot GC may happened several times during VM initialization. In some rare cases G1's remark phase may be started before SLT is initialized and crash will happen.

        I'm able to reproduce such scenario with following VM options on linux-x64:
        -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+ScavengeALot -XX:SurvivorAlignmentInBytes=2k -Xmx10m -version

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kbarrett Kim Barrett
                Reporter:
                fzhinkin Filipp Zhinkin
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: