Skip to content

Commit 04dda86

Browse files
committed
Change images for TSAN jobs
Fedora 38 and Debian "bullseye" images were "forked" to images used only for TSAN CI jobs. The new images contain TSAN-aware liburcu that does not fit well with ASAN CI jobs for which original images were also used. Also, drop liburcu-related TSAN suppressions because they are unnecessary with TSAN-aware liburcu.
1 parent 1b7ed2d commit 04dda86

File tree

4 files changed

+27
-28
lines changed

4 files changed

+27
-28
lines changed

.gitlab-ci.yml

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ variables:
2828
ASAN_SYMBOLIZER_PATH: "${LLVM_SYMBOLIZER}"
2929

3030
TSAN_OPTIONS_COMMON: "disable_coredump=0 second_deadlock_stack=1 atexit_sleep_ms=1000 history_size=7 log_exe_name=true log_path=tsan"
31-
TSAN_SYMBOLIZER: "external_symbolizer_path=/usr/bin/llvm-symbolizer"
3231
TSAN_SUPPRESSIONS: "suppressions=${CI_PROJECT_DIR}/.tsan-suppress"
33-
TSAN_OPTIONS_DEFAULT: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} ${TSAN_SYMBOLIZER}"
32+
TSAN_OPTIONS_DEBIAN: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=${LLVM_SYMBOLIZER}"
33+
TSAN_OPTIONS_FEDORA: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=/usr/bin/llvm-symbolizer"
3434

3535
UBSAN_OPTIONS: "halt_on_error=1:abort_on_error=1:disable_coredump=0"
3636

@@ -158,6 +158,10 @@ stages:
158158
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
159159
<<: *linux_amd64
160160

161+
.tsan-debian-bullseye-amd64: &tsan_debian_bullseye_amd64_image
162+
image: "$CI_REGISTRY_IMAGE:tsan-debian-bullseye-amd64"
163+
<<: *linux_amd64
164+
161165
.debian-bullseye-amd64cross32: &debian_bullseye_amd64cross32_image
162166
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32"
163167
<<: *linux_amd64
@@ -174,6 +178,10 @@ stages:
174178

175179
# Fedora
176180

181+
.tsan-fedora-38-amd64: &tsan_fedora_38_amd64_image
182+
image: "$CI_REGISTRY_IMAGE:tsan-fedora-38-amd64"
183+
<<: *linux_amd64
184+
177185
.fedora-38-amd64: &fedora_38_amd64_image
178186
image: "$CI_REGISTRY_IMAGE:fedora-38-amd64"
179187
<<: *linux_amd64
@@ -1090,29 +1098,29 @@ gcc:tsan:
10901098
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread"
10911099
LDFLAGS: "-fsanitize=thread"
10921100
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc"
1093-
<<: *fedora_38_amd64_image
1101+
<<: *tsan_fedora_38_amd64_image
10941102
<<: *build_job
10951103

10961104
system:gcc:tsan:
10971105
variables:
1098-
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
1099-
<<: *fedora_38_amd64_image
1106+
TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
1107+
<<: *tsan_fedora_38_amd64_image
11001108
<<: *system_test_tsan_job
11011109
needs:
11021110
- job: gcc:tsan
11031111
artifacts: true
11041112

11051113
unit:gcc:tsan:
11061114
variables:
1107-
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
1108-
<<: *fedora_38_amd64_image
1115+
TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
1116+
<<: *tsan_fedora_38_amd64_image
11091117
<<: *unit_test_tsan_job
11101118
needs:
11111119
- job: gcc:tsan
11121120
artifacts: true
11131121

11141122
clang:tsan:
1115-
<<: *base_image
1123+
<<: *tsan_debian_bullseye_amd64_image
11161124
<<: *build_job
11171125
variables:
11181126
CC: "${CLANG}"
@@ -1122,8 +1130,8 @@ clang:tsan:
11221130

11231131
system:clang:tsan:
11241132
variables:
1125-
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=${LLVM_SYMBOLIZER}"
1126-
<<: *base_image
1133+
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
1134+
<<: *tsan_debian_bullseye_amd64_image
11271135
<<: *system_test_tsan_job
11281136
needs:
11291137
- job: clang:tsan
@@ -1132,8 +1140,8 @@ system:clang:tsan:
11321140

11331141
unit:clang:tsan:
11341142
variables:
1135-
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} suppressions=$CI_PROJECT_DIR/.tsan-suppress-extra external_symbolizer_path=${LLVM_SYMBOLIZER}"
1136-
<<: *base_image
1143+
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
1144+
<<: *tsan_debian_bullseye_amd64_image
11371145
<<: *unit_test_tsan_job
11381146
needs:
11391147
- job: clang:tsan
@@ -1372,14 +1380,14 @@ respdiff-short:asan:
13721380
respdiff-short:tsan:
13731381
<<: *respdiff_job
13741382
<<: *default_triggering_rules
1375-
<<: *debian_bullseye_amd64_image
1383+
<<: *tsan_debian_bullseye_amd64_image
13761384
variables:
13771385
CC: gcc
13781386
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
13791387
LDFLAGS: "-fsanitize=thread"
13801388
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
13811389
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
1382-
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
1390+
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
13831391
script:
13841392
- bash respdiff.sh -s named -q "${PWD}/10k_a.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}" "/usr/local/respdiff-reference-bind/sbin/named"
13851393
after_script:
@@ -1413,14 +1421,14 @@ respdiff-long:asan:
14131421
respdiff-long:tsan:
14141422
<<: *respdiff_job
14151423
<<: *api_schedules_tags_triggers_web_triggering_rules
1416-
<<: *debian_bullseye_amd64_image
1424+
<<: *tsan_debian_bullseye_amd64_image
14171425
variables:
14181426
CC: gcc
14191427
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
14201428
LDFLAGS: "-fsanitize=thread"
14211429
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
14221430
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
1423-
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
1431+
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
14241432
script:
14251433
- bash respdiff.sh -s named -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}" "/usr/local/respdiff-reference-bind/sbin/named"
14261434
after_script:

.reuse/dep5

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,6 @@ Files: **/.clang-format
164164
.lgtm.yml
165165
.pylintrc
166166
.tsan-suppress
167-
.tsan-suppress-extra
168167
.uncrustify.cfg
169168
doc/misc/*.zoneopt
170169
doc/misc/options

.tsan-suppress

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# be more selective with liburcu
2-
race:rcu_barrier
3-
race:rcu_*_barrier
4-
thread:*
1+
# Uninstrumented libraries
2+
called_from_lib:libfstrm.so
3+
race:dummyrpz

.tsan-suppress-extra

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)