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

avoid boost TLS assertion at process shutdown

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.11, 3.2.12, 3.3.3
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.2
    • Sprint:
      Repl 11 (03/11/16)
    • Linked BF Score:
      0

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: