Disable memory pools when running on Mac #2067
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When running TSAN on Mac I get a warning with the
node.node_receive_quorum
test:https://gist.github.com/wezrule/2e3ee5bf2dcd196a40a94fdc2d18da82
Although strangely only when the previous test is run as well, running this test on its own never showed the error. Running the node daemon reports continuous warnings though. After some research I found there seems to be some known issues with the thread sanitizer on mac with shared/weak_ptrs destructors:
https://reviews.llvm.org/D21609?id=61547
https://github.com/llvm-mirror/compiler-rt/blob/master/lib/tsan/rtl/tsan_interceptors_mac.cc#L404
I don't think it's enough to suppress these in the blacklist file as there are other following on TSAN errors as well. I spent a while trying to solve this, but I'm not sure if it's possible on our end, so it seemed best just to disable the warnings entirely. Builds on Ubuntu with both Clang & GCC do not report anything with TSAN. So I'm not sure if this is something we should be concerned about or not, would like opinions on it, perhaps other Mac users can run TSAN as well and see if they see any issues currently (I used Boost 1.69).
EDIT: For now disabling memory pools on Mac entirely, not just when using TSAN