Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add suppressions for TSan.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 1 Feb 2020 16:29:35 +0000 (17:29 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 1 Feb 2020 21:41:45 +0000 (22:41 +0100)
MANIFEST.in
tools/CMakeLists.txt
tools/jenkins/Sanitizers.sh
tools/thread_sanitizer.supp [new file with mode: 0644]

index ecb059b..c31b506 100644 (file)
@@ -1763,6 +1763,7 @@ include tools/tesh/set-return.tesh
 include tools/tesh/set-timeout.tesh
 include tools/tesh/setenv.tesh
 include tools/tesh/tesh.py
+include tools/thread_sanitizer.supp
 include AUTHORS
 include CITATION.bib
 include CMakeLists.txt
index 04b2116..426d36c 100644 (file)
@@ -11,5 +11,6 @@ set(bin_files ${bin_files}    ${CMAKE_CURRENT_SOURCE_DIR}/fix-paje-trace.sh
 
 set(txt_files ${txt_files}    ${CMAKE_CURRENT_SOURCE_DIR}/pkg-config/simgrid.pc.in
                               ${CMAKE_CURRENT_SOURCE_DIR}/address_sanitizer.supp
+                              ${CMAKE_CURRENT_SOURCE_DIR}/thread_sanitizer.supp
                               ${CMAKE_CURRENT_SOURCE_DIR}/simgrid.supp
                               ${CMAKE_CURRENT_SOURCE_DIR}/simgrid2vite.sed                        PARENT_SCOPE)
index 3a35fad..985042f 100755 (executable)
@@ -22,7 +22,7 @@ then
     SANITIZER_OPTIONS="-Denable_address_sanitizer=ON -Denable_undefined_sanitizer=OFF -Denable_thread_sanitizer=OFF"
 elif [ "${SANITIZER}" = "thread" ]
 then
-    export TSAN_OPTIONS="memory_limit_mb=1500"
+    export TSAN_OPTIONS="memory_limit_mb=1500 suppressions=$WORKSPACE/tools/thread_sanitizer.supp"
     SANITIZER_OPTIONS="-Denable_address_sanitizer=OFF -Denable_undefined_sanitizer=OFF -Denable_thread_sanitizer=ON"
 elif [ "${SANITIZER}" = "undefined" ]
 then
diff --git a/tools/thread_sanitizer.supp b/tools/thread_sanitizer.supp
new file mode 100644 (file)
index 0000000..3835a16
--- /dev/null
@@ -0,0 +1,11 @@
+# Thread sanitizer suppressions for stuff that we cannot control
+
+# Race reported around std::__cxx11::stod / __gnu_cxx::__stoa when the value of
+# errno is saved and restored
+race:ext/string_conversions.h
+
+# False positive seen when simultaneously destroying a CommPtr in s4u-app-masterworkers-parallel
+# For more information, see
+# https://stackoverflow.com/questions/24446561/threadsanitizer-reports-data-race-on-operator-deletevoid-when-using-embedde
+# and more precisely the answer: https://stackoverflow.com/a/49173574
+race:simgrid::kernel::activity::CommImpl::~CommImpl()