Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable memory pools when running on Mac #2067

Merged
merged 3 commits into from Jun 11, 2019

Conversation

2 participants
@wezrule
Copy link
Collaborator

commented Jun 7, 2019

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

@wezrule wezrule added this to the V19.0 milestone Jun 7, 2019

@wezrule wezrule requested review from SergiySW and cryptocode Jun 7, 2019

@wezrule wezrule self-assigned this Jun 7, 2019

@wezrule wezrule changed the title Turn off using memory pools when running TSAN on Cac Turn off using memory pools when running TSAN on Mac Jun 7, 2019

@zhyatt zhyatt added this to RC 4 (TBD) in V19 Jun 8, 2019

@wezrule wezrule changed the title Turn off using memory pools when running TSAN on Mac Turn off using memory pools when running on Mac Jun 10, 2019

@wezrule wezrule changed the title Turn off using memory pools when running on Mac Disable memory pools when running on Mac Jun 10, 2019

@wezrule wezrule force-pushed the wezrule:tsan_mac_use_memory_pools branch from f17e181 to 6c1d50e Jun 10, 2019

@wezrule wezrule removed the request for review from SergiySW Jun 11, 2019

@wezrule wezrule merged commit 5517e52 into nanocurrency:master Jun 11, 2019

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@wezrule wezrule deleted the wezrule:tsan_mac_use_memory_pools branch Jun 11, 2019

argakiig added a commit that referenced this pull request Jun 11, 2019

Disable memory pools when running on Mac (#2067)
* Turn off use_memory_pools when using TSAN with mac

* Add TSAN check to nano_wallet

* Turn off using memory pools on Mac entirely
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.