-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
Labels:None
-
Fully Compatible
-
ALL
-
Platform 5 06/26/16
-
0
If dynamic initialization for a global in a translation unit runs and invokes the logging subsystem before dynamic initialization has completed for the globals in src/mongo/util/concurrency/thread_name.cpp, then access to a zero-initialized boost::thread_specific_pointer variable will occur, resulting in undefined behavior.
The observed behavior is that the program leaks a std::string, since it either isn't actually set, or is overwritten when the dynamic initializer for the thread_specific_pointer runs.