summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct21
-rw-r--r--etc/evergreen.yml15
2 files changed, 25 insertions, 11 deletions
diff --git a/SConstruct b/SConstruct
index 9026d5ef655..01a88b84669 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2963,14 +2963,19 @@ def doConfigure(myenv):
# the benefits of libunwind. Fixing this is:
env.FatalError("Cannot use libunwind with TSAN, please add --use-libunwind=off to your compile flags")
- # If anything is changed, added, or removed in tsan_options, be sure
- # to make the corresponding changes to the appropriate build
- # variants in etc/evergreen.yml
- # 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
- # TODO: https://jira.mongodb.org/browse/SERVER-49121
- tsan_options += "die_after_fork=0:suppressions=\"%s\" " % myenv.File("#etc/tsan.suppressions").abspath
+ # If anything is changed, added, or removed in
+ # tsan_options, be sure to make the corresponding changes
+ # to the appropriate build variants in etc/evergreen.yml
+ #
+ # TODO SERVER-49121: die_after_fork=0 is a temporary
+ # setting to allow tests to continue while we figure out
+ # why we're running afoul of it.
+ #
+ # TODO SERVER-48490: report_thread_leaks=0 suppresses
+ # reporting thread leaks, which we have because we don't
+ # do a clean shutdown of the ServiceContext.
+ #
+ tsan_options += "halt_on_error=1:report_thread_leaks=0:die_after_fork=0:suppressions=\"%s\" " % myenv.File("#etc/tsan.suppressions").abspath
myenv['ENV']['TSAN_OPTIONS'] = tsan_options
myenv.AppendUnique(CPPDEFINES=['THREAD_SANITIZER'])
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 236329ee3dd..6d09c3f3cbf 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -12330,9 +12330,18 @@ buildvariants:
# We need llvm-symbolizer in the PATH for ASAN for clang-3.7 or later.
variant_path_suffix: /opt/mongodbtoolchain/v3/bin
lang_environment: LANG=C
- # If you add anything to san_options, make sure the appropriate changes are
- # also made to SConstruct.
- san_options: TSAN_OPTIONS="die_after_fork=0:suppressions=etc/tsan.suppressions:halt_on_error=1"
+ # If you add anything to san_options, make sure the appropriate
+ # changes are also made to SConstruct.
+ #
+ # TODO SERVER-49121: die_after_fork=0 is a temporary setting to
+ # allow tests to continue while we figure out why we're running
+ # afoul of it.
+ #
+ # TODO SERVER-48490: report_thread_leaks=0 suppresses reporting
+ # thread leaks, which we have because we don't do a clean shutdown
+ # of the ServiceContext.
+ #
+ san_options: TSAN_OPTIONS="halt_on_error=1:report_thread_leaks=0:die_after_fork=0:suppressions=etc/tsan.suppressions"
# TODO: Remove some of the excluded tags when the ephemeralForTest storage engine is
# further along in development: https://jira.mongodb.org/browse/SERVER-48325
test_flags: --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_journaling,uses_transactions,requires_wiredtiger,requires_snapshot_read