mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
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.
This commit is contained in:
parent
1b7ed2da1a
commit
04dda8661f
@ -28,9 +28,9 @@ variables:
|
|||||||
ASAN_SYMBOLIZER_PATH: "${LLVM_SYMBOLIZER}"
|
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_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_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"
|
UBSAN_OPTIONS: "halt_on_error=1:abort_on_error=1:disable_coredump=0"
|
||||||
|
|
||||||
@ -158,6 +158,10 @@ stages:
|
|||||||
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
|
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
|
||||||
<<: *linux_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
|
.debian-bullseye-amd64cross32: &debian_bullseye_amd64cross32_image
|
||||||
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32"
|
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
@ -174,6 +178,10 @@ stages:
|
|||||||
|
|
||||||
# Fedora
|
# 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
|
.fedora-38-amd64: &fedora_38_amd64_image
|
||||||
image: "$CI_REGISTRY_IMAGE:fedora-38-amd64"
|
image: "$CI_REGISTRY_IMAGE:fedora-38-amd64"
|
||||||
<<: *linux_amd64
|
<<: *linux_amd64
|
||||||
@ -1090,13 +1098,13 @@ gcc:tsan:
|
|||||||
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread"
|
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread"
|
||||||
LDFLAGS: "-fsanitize=thread"
|
LDFLAGS: "-fsanitize=thread"
|
||||||
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc"
|
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc"
|
||||||
<<: *fedora_38_amd64_image
|
<<: *tsan_fedora_38_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
|
|
||||||
system:gcc:tsan:
|
system:gcc:tsan:
|
||||||
variables:
|
variables:
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
|
||||||
<<: *fedora_38_amd64_image
|
<<: *tsan_fedora_38_amd64_image
|
||||||
<<: *system_test_tsan_job
|
<<: *system_test_tsan_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:tsan
|
- job: gcc:tsan
|
||||||
@ -1104,15 +1112,15 @@ system:gcc:tsan:
|
|||||||
|
|
||||||
unit:gcc:tsan:
|
unit:gcc:tsan:
|
||||||
variables:
|
variables:
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
|
||||||
<<: *fedora_38_amd64_image
|
<<: *tsan_fedora_38_amd64_image
|
||||||
<<: *unit_test_tsan_job
|
<<: *unit_test_tsan_job
|
||||||
needs:
|
needs:
|
||||||
- job: gcc:tsan
|
- job: gcc:tsan
|
||||||
artifacts: true
|
artifacts: true
|
||||||
|
|
||||||
clang:tsan:
|
clang:tsan:
|
||||||
<<: *base_image
|
<<: *tsan_debian_bullseye_amd64_image
|
||||||
<<: *build_job
|
<<: *build_job
|
||||||
variables:
|
variables:
|
||||||
CC: "${CLANG}"
|
CC: "${CLANG}"
|
||||||
@ -1122,8 +1130,8 @@ clang:tsan:
|
|||||||
|
|
||||||
system:clang:tsan:
|
system:clang:tsan:
|
||||||
variables:
|
variables:
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} ${TSAN_SUPPRESSIONS} external_symbolizer_path=${LLVM_SYMBOLIZER}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||||
<<: *base_image
|
<<: *tsan_debian_bullseye_amd64_image
|
||||||
<<: *system_test_tsan_job
|
<<: *system_test_tsan_job
|
||||||
needs:
|
needs:
|
||||||
- job: clang:tsan
|
- job: clang:tsan
|
||||||
@ -1132,8 +1140,8 @@ system:clang:tsan:
|
|||||||
|
|
||||||
unit:clang:tsan:
|
unit:clang:tsan:
|
||||||
variables:
|
variables:
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} suppressions=$CI_PROJECT_DIR/.tsan-suppress-extra external_symbolizer_path=${LLVM_SYMBOLIZER}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||||
<<: *base_image
|
<<: *tsan_debian_bullseye_amd64_image
|
||||||
<<: *unit_test_tsan_job
|
<<: *unit_test_tsan_job
|
||||||
needs:
|
needs:
|
||||||
- job: clang:tsan
|
- job: clang:tsan
|
||||||
@ -1372,14 +1380,14 @@ respdiff-short:asan:
|
|||||||
respdiff-short:tsan:
|
respdiff-short:tsan:
|
||||||
<<: *respdiff_job
|
<<: *respdiff_job
|
||||||
<<: *default_triggering_rules
|
<<: *default_triggering_rules
|
||||||
<<: *debian_bullseye_amd64_image
|
<<: *tsan_debian_bullseye_amd64_image
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
|
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
|
||||||
LDFLAGS: "-fsanitize=thread"
|
LDFLAGS: "-fsanitize=thread"
|
||||||
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
|
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
|
||||||
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
|
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||||
script:
|
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"
|
- 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:
|
after_script:
|
||||||
@ -1413,14 +1421,14 @@ respdiff-long:asan:
|
|||||||
respdiff-long:tsan:
|
respdiff-long:tsan:
|
||||||
<<: *respdiff_job
|
<<: *respdiff_job
|
||||||
<<: *api_schedules_tags_triggers_web_triggering_rules
|
<<: *api_schedules_tags_triggers_web_triggering_rules
|
||||||
<<: *debian_bullseye_amd64_image
|
<<: *tsan_debian_bullseye_amd64_image
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
|
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
|
||||||
LDFLAGS: "-fsanitize=thread"
|
LDFLAGS: "-fsanitize=thread"
|
||||||
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
|
EXTRA_CONFIGURE: "--enable-pthread-rwlock --without-jemalloc"
|
||||||
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
|
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
|
||||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEFAULT}"
|
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||||
script:
|
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"
|
- 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:
|
after_script:
|
||||||
|
@ -164,7 +164,6 @@ Files: **/.clang-format
|
|||||||
.lgtm.yml
|
.lgtm.yml
|
||||||
.pylintrc
|
.pylintrc
|
||||||
.tsan-suppress
|
.tsan-suppress
|
||||||
.tsan-suppress-extra
|
|
||||||
.uncrustify.cfg
|
.uncrustify.cfg
|
||||||
doc/misc/*.zoneopt
|
doc/misc/*.zoneopt
|
||||||
doc/misc/options
|
doc/misc/options
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
# be more selective with liburcu
|
# Uninstrumented libraries
|
||||||
race:rcu_barrier
|
called_from_lib:libfstrm.so
|
||||||
race:rcu_*_barrier
|
race:dummyrpz
|
||||||
thread:*
|
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
# Uninstrumented libraries
|
|
||||||
called_from_lib:libfstrm.so
|
|
||||||
called_from_lib:libdummyrpz.so
|
|
||||||
# be more selective with liburcu
|
|
||||||
race:rcu_barrier
|
|
||||||
race:rcu_*_barrier
|
|
||||||
thread:*
|
|
Loading…
x
Reference in New Issue
Block a user