Created attachment 125144 [details] test code When I run attached code under drd I get "conflicting load" error on std::mutex::lock. Both removing 'counter' constructor and calling 'get_counter' in main thread before any thread starts solves the issue. It seems drd thinks that static initialization of an object is not thread safe. I tested this with g++-9.2.1 and clang++ 9.0.0.
Created attachment 125145 [details] drd log
Thanks for having reported this. Please check whether the changes that have been checked in on the master branch fix this issue.
Yes, drd does not complain anymore after the fix.