diff options
-rw-r--r-- | SConstruct | 21 | ||||
-rw-r--r-- | etc/evergreen.yml | 15 |
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 |