Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-22838

avoid boost TLS assertion at process shutdown

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.2.11, 3.2.12, 3.3.3
    • Affects Version/s: None
    • Component/s: Internal Code
    • None
    • Fully Compatible
    • ALL
    • v3.2
    • Repl 11 (03/11/16)
    • 0

      At shutdown, boost TLS has a race between a process exit hook and the thread exit hook; if they run simultaneously, boost can throw an assert in debug mode that causes the process to exit with a bad status.
      We can fix this by moving TLS usage to use C++11 thread_local storage, but we need to complete the upgrade to VS2015 first. For now, we will suppress this assertion in Boost 1.56 in order to get jstests to pass. The upgrade to VS2015 will upgrade Boost to 1.60 which will revert back to an unmodified copy of Boost – we may need to apply the same fix to Boost 1.60 until we can complete the switch to thread_local.

            Assignee:
            milkie@mongodb.com Eric Milkie
            Reporter:
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: