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

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

    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: