aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKevin Boulain <kevin@boula.in>2023-08-30 14:52:55 +0200
committerDavid Bremner <david@tethera.net>2023-09-02 07:45:30 -0300
commitc1a23a64ae06decdffea6caeaba5270854fa0ddd (patch)
tree864a14e0596b416d5d229061dad772fb0e28070d /test
parenta84dc2f7e64e70bd9696efe933671b2cbdfcd329 (diff)
test: suppress all interceptors in glib
On ppc64el, races are detected by TSan: WARNING: ThreadSanitizer: data race (pid=4520) Read of size 8 at 0x7ffff20016c0 by thread T1: #0 strlen ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:386 (libtsan.so.2+0x77c0c) #1 strlen ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:378 (libtsan.so.2+0x77c0c) #2 g_strdup ../../../glib/gstrfuncs.c:362 (libglib-2.0.so.0+0xa4ac4) Previous write of size 8 at 0x7ffff20016c0 by thread T2: #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:647 (libtsan.so.2+0x471f0) #1 g_malloc ../../../glib/gmem.c:130 (libglib-2.0.so.0+0x7bb68) Location is heap block of size 20 at 0x7ffff20016c0 allocated by thread T2: #0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:647 (libtsan.so.2+0x471f0) #1 g_malloc ../../../glib/gmem.c:130 (libglib-2.0.so.0+0x7bb68) This appears to be a false positive in GLib, as explained at https://gitlab.gnome.org/GNOME/glib/-/issues/1672#note_1831968 In short, a call to fstat fails under TSan and GLib's g_sterror will intern the error message, which will be reused by other threads. Since upstream appears to be aware that GLib doesn't play nicely with TSan, suppress everything coming from the library instead of maintaining a fine grained list. Reported at https://buildd.debian.org/status/fetch.php?pkg=notmuch&arch=ppc64el&ver=0.38%7Erc0-1&stamp=1692959868&raw=0
Diffstat (limited to 'test')
-rw-r--r--test/T810-tsan.suppressions4
1 files changed, 1 insertions, 3 deletions
diff --git a/test/T810-tsan.suppressions b/test/T810-tsan.suppressions
index dbd16a94..80dc062f 100644
--- a/test/T810-tsan.suppressions
+++ b/test/T810-tsan.suppressions
@@ -1,5 +1,3 @@
# It's unclear how TSan-friendly GLib is:
# https://gitlab.gnome.org/GNOME/glib/-/issues/1672
-race:g_rw_lock_reader_lock
-# https://gitlab.gnome.org/GNOME/glib/-/issues/1952
-race:g_slice_alloc0
+called_from_lib:libglib*.so