mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04: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.
liburcu is not used in this branch, but images are shared among
branches, and their use needs to be consistent in all maintained
branches.
(cherry picked from commit 04dda8661f)
This commit is contained in:
parent
4f3cfba6c0
commit
44fff18b68
3 changed files with 30 additions and 16 deletions
|
|
@ -18,6 +18,7 @@ variables:
|
|||
CLANG_VERSION: 16
|
||||
CLANG: "clang-${CLANG_VERSION}"
|
||||
SCAN_BUILD: "scan-build-${CLANG_VERSION}"
|
||||
LLVM_SYMBOLIZER: "/usr/lib/llvm-${CLANG_VERSION}/bin/llvm-symbolizer"
|
||||
ASAN_SYMBOLIZER_PATH: "/usr/lib/llvm-${CLANG_VERSION}/bin/llvm-symbolizer"
|
||||
CLANG_FORMAT: "clang-format-${CLANG_VERSION}"
|
||||
|
||||
|
|
@ -25,7 +26,12 @@ variables:
|
|||
|
||||
# Pass run-time flags to AddressSanitizer to get core dumps on error.
|
||||
ASAN_OPTIONS: abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1
|
||||
TSAN_OPTIONS_COMMON: "disable_coredump=0 second_deadlock_stack=1 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_SUPPRESSIONS: "suppressions=${CI_PROJECT_DIR}/.tsan-suppress"
|
||||
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"
|
||||
|
||||
TARBALL_EXTENSION: xz
|
||||
|
|
@ -152,6 +158,10 @@ stages:
|
|||
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
|
||||
|
|
@ -168,6 +178,10 @@ stages:
|
|||
|
||||
# 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
|
||||
|
|
@ -1089,13 +1103,13 @@ gcc:tsan:
|
|||
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_COMMON} external_symbolizer_path=/usr/bin/llvm-symbolizer"
|
||||
<<: *fedora_38_amd64_image
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_FEDORA}"
|
||||
<<: *tsan_fedora_38_amd64_image
|
||||
<<: *system_test_tsan_job
|
||||
needs:
|
||||
- job: gcc:tsan
|
||||
|
|
@ -1103,15 +1117,15 @@ system:gcc:tsan:
|
|||
|
||||
unit:gcc:tsan:
|
||||
variables:
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} external_symbolizer_path=/usr/bin/llvm-symbolizer"
|
||||
<<: *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}"
|
||||
|
|
@ -1121,8 +1135,8 @@ clang:tsan:
|
|||
|
||||
system:clang:tsan:
|
||||
variables:
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} external_symbolizer_path=/usr/lib/llvm-${CLANG_VERSION}/bin/llvm-symbolizer"
|
||||
<<: *base_image
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||
<<: *tsan_debian_bullseye_amd64_image
|
||||
<<: *system_test_tsan_job
|
||||
needs:
|
||||
- job: clang:tsan
|
||||
|
|
@ -1130,8 +1144,8 @@ system:clang:tsan:
|
|||
|
||||
unit:clang:tsan:
|
||||
variables:
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_COMMON} external_symbolizer_path=/usr/lib/llvm-${CLANG_VERSION}/bin/llvm-symbolizer suppressions=$CI_PROJECT_DIR/tsan-suppressions.txt"
|
||||
<<: *base_image
|
||||
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
|
||||
<<: *tsan_debian_bullseye_amd64_image
|
||||
<<: *unit_test_tsan_job
|
||||
needs:
|
||||
- job: clang:tsan
|
||||
|
|
@ -1370,14 +1384,14 @@ respdiff-short:asan:
|
|||
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_COMMON} external_symbolizer_path=/usr/bin/llvm-symbolizer"
|
||||
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:
|
||||
|
|
@ -1411,14 +1425,14 @@ respdiff-long:asan:
|
|||
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_COMMON} external_symbolizer_path=/usr/bin/llvm-symbolizer"
|
||||
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:
|
||||
|
|
|
|||
|
|
@ -152,11 +152,11 @@ Files: **/.clang-format
|
|||
.gitlab-ci.yml
|
||||
.lgtm.yml
|
||||
.pylintrc
|
||||
.tsan-suppress
|
||||
.uncrustify.cfg
|
||||
doc/misc/*.zoneopt
|
||||
doc/misc/options
|
||||
doc/misc/rndc.grammar
|
||||
tsan-suppressions.txt
|
||||
sonar-project.properties
|
||||
Copyright: Internet Systems Consortium, Inc. ("ISC")
|
||||
License: CC0-1.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue