summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorlhchavez <lhchavez@lhchavez.com>2020-08-03 07:17:52 -0700
committerlhchavez <lhchavez@lhchavez.com>2020-08-03 09:37:32 -0700
commit896b1db493245f5ecbbb328b4d1485e44d4a1e27 (patch)
treeb50c1aa7585eaab07143f2156e185394178e5090 /script
parentc71321a099373753c22055921c8f538afed5ebb6 (diff)
downloadlibgit2-896b1db493245f5ecbbb328b4d1485e44d4a1e27.tar.gz
Add a ThreadSanitizer build
This change adds a ThreadSanitizer CI build rule. It's informative for now because there are still known places where there are races. Part of: #5592
Diffstat (limited to 'script')
-rw-r--r--script/thread-sanitizer.supp18
1 files changed, 18 insertions, 0 deletions
diff --git a/script/thread-sanitizer.supp b/script/thread-sanitizer.supp
new file mode 100644
index 000000000..757a0e79c
--- /dev/null
+++ b/script/thread-sanitizer.supp
@@ -0,0 +1,18 @@
+# In attr_file_free, the locks are acquired in the opposite order in which they
+# are normally acquired. This is probably something worth fixing to have a
+# consistent lock hierarchy that is easy to understand.
+deadlock:attr_cache_lock
+
+# When invoking the time/timezone functions from git_signature_now(), they
+# access libc methods that need to be instrumented to correctly analyze the
+# data races.
+called_from_lib:libc.so.6
+
+# TODO(#5595): Remove these once the fixes land.
+race:src/odb.c
+race:git_repository_odb__weakptr
+race:cache_store
+
+# TODO(#5595): Investigate and fix this. It can be triggered by the `thread`
+# test suite.
+race:git_filter_list__load_ext