ASAN_SYMBOLIZER_PATH: "${LLVM_SYMBOLIZER}"
TSAN_OPTIONS_COMMON: "disable_coredump=0 second_deadlock_stack=1 atexit_sleep_ms=1000 history_size=7 log_exe_name=true log_path=tsan"
- TSAN_SYMBOLIZER: "external_symbolizer_path=/usr/bin/llvm-symbolizer"
TSAN_SUPPRESSIONS: "suppressions=${CI_PROJECT_DIR}/.tsan-suppress"
- TSAN_OPTIONS_DEFAULT: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} ${TSAN_SYMBOLIZER}"
+ TSAN_OPTIONS_DEBIAN: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=${LLVM_SYMBOLIZER}"
+ TSAN_OPTIONS_FEDORA: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=/usr/bin/llvm-symbolizer"
UBSAN_OPTIONS: "halt_on_error=1:abort_on_error=1:disable_coredump=0"
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
<<: *linux_amd64
+.tsan-debian-bullseye-amd64: &tsan_debian_bullseye_amd64_image
+ image: "$CI_REGISTRY_IMAGE:tsan-debian-bullseye-amd64"
+ <<: *linux_amd64
+
.debian-bullseye-amd64cross32: &debian_bullseye_amd64cross32_image
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32"
<<: *linux_amd64
# Fedora
+.tsan-fedora-38-amd64: &tsan_fedora_38_amd64_image
+ image: "$CI_REGISTRY_IMAGE:tsan-fedora-38-amd64"
+ <<: *linux_amd64
+
.fedora-38-amd64: &fedora_38_amd64_image
image: "$CI_REGISTRY_IMAGE:fedora-38-amd64"
<<: *linux_amd64
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc"
- <<: *fedora_38_amd64_image
+ <<: *tsan_fedora_38_amd64_image
<<: *build_job
system:gcc:tsan:
variables:
- TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
- <<: *fedora_38_amd64_image
+ TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
+ <<: *tsan_fedora_38_amd64_image
<<: *system_test_tsan_job
needs:
- job: gcc:tsan
unit:gcc:tsan:
variables:
- TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
- <<: *fedora_38_amd64_image
+ TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
+ <<: *tsan_fedora_38_amd64_image
<<: *unit_test_tsan_job
needs:
- job: gcc:tsan
artifacts: true
clang:tsan:
- <<: *base_image
+ <<: *tsan_debian_bullseye_amd64_image
<<: *build_job
variables:
CC: "${CLANG}"
system:clang:tsan:
variables:
- TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=${LLVM_SYMBOLIZER}"
- <<: *base_image
+ TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
+ <<: *tsan_debian_bullseye_amd64_image
<<: *system_test_tsan_job
needs:
- job: clang:tsan
unit:clang:tsan:
variables:
- TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} suppressions=$CI_PROJECT_DIR/.tsan-suppress-extra external_symbolizer_path=${LLVM_SYMBOLIZER}"
- <<: *base_image
+ TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
+ <<: *tsan_debian_bullseye_amd64_image
<<: *unit_test_tsan_job
needs:
- job: clang:tsan
respdiff-short:tsan:
<<: *respdiff_job
<<: *default_triggering_rules
- <<: *debian_bullseye_amd64_image
+ <<: *tsan_debian_bullseye_amd64_image
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
- TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
+ TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
script:
- 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"
after_script:
respdiff-long:tsan:
<<: *respdiff_job
<<: *api_schedules_tags_triggers_web_triggering_rules
- <<: *debian_bullseye_amd64_image
+ <<: *tsan_debian_bullseye_amd64_image
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
- TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
+ TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
script:
- 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"
after_script: