summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2020-07-13 17:04:30 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-15 00:12:06 +0000
commitf07b26628c8aaa9cbd68cbeb096c08c778c8c4a8 (patch)
tree568f73a3c0eb654511cca4b7d116f8fcb0e0e0f0 /SConstruct
parent01dd381f3359c44bbc9338d91371d1ff823bb7d8 (diff)
downloadmongo-f07b26628c8aaa9cbd68cbeb096c08c778c8c4a8.tar.gz
SERVER-49078 Disable libunwind for TSAN
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct14
1 files changed, 14 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct
index e1dc9255b93..0f47acf5684 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2917,6 +2917,20 @@ def doConfigure(myenv):
myenv.AppendUnique(CPPDEFINES=['ADDRESS_SANITIZER'])
if using_tsan:
+
+ if use_libunwind:
+ # TODO: SERVER-48622
+ #
+ # See https://github.com/google/sanitizers/issues/943
+ # for why we disallow combining TSAN with
+ # libunwind. We could, atlernatively, have added logic
+ # to automate the decision about whether to enable
+ # libunwind based on whether TSAN is enabled, but that
+ # logic is already complex, and it feels better to
+ # make it explicit that using TSAN means you won't get
+ # the benefits of libunwind. Fixing this is:
+ env.FatalError("Cannot use libunwind with TSAN, please add --use-libunwind=off to your compile flags")
+
# die_after_fork=0 is a temporary setting to allow tests to continue while we figure out why
# we're running afoul of it. If we remove it here, it also needs to be removed from the test
# variant in etc/evergreen.yml