mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-01 16:35:53 +00:00
12
.github/workflows/reusable-build-test-config.yml
vendored
12
.github/workflows/reusable-build-test-config.yml
vendored
@@ -171,9 +171,9 @@ jobs:
|
||||
BUILD_TYPE: ${{ inputs.build_type }}
|
||||
PARALLELISM: ${{ runner.os == 'Windows' && '1' || steps.nproc.outputs.nproc }}
|
||||
run: |
|
||||
export ASAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/asan_suppressions.txt"
|
||||
export TSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/tsan_suppressions.txt"
|
||||
echo "ASAN_OPTIONS=$ASAN_OPTIONS TSAN_OPTIONS=$TSAN_OPTIONS"
|
||||
export ASAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/asan.supp"
|
||||
export TSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/tsan.supp"
|
||||
export UBSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/ubsan.supp"
|
||||
ctest \
|
||||
--output-on-failure \
|
||||
-C "${BUILD_TYPE}" \
|
||||
@@ -185,9 +185,9 @@ jobs:
|
||||
env:
|
||||
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
||||
run: |
|
||||
export ASAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/asan_suppressions.txt"
|
||||
export TSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/tsan_suppressions.txt"
|
||||
echo "ASAN_OPTIONS=$ASAN_OPTIONS TSAN_OPTIONS=$TSAN_OPTIONS"
|
||||
export ASAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/asan.supp"
|
||||
export TSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/tsan.supp"
|
||||
export UBSAN_OPTIONS="suppressions=$GITHUB_WORKSPACE/external/ubsan.supp"
|
||||
./rippled --unittest --unittest-jobs "${BUILD_NPROC}"
|
||||
|
||||
- name: Debug failure (Linux)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Suppress voilations in Boost libraries
|
||||
interceptor_via_lib:^libboost_.*
|
||||
# Suprpress voilations in external code
|
||||
interceptor_name:^external/*
|
||||
interceptor_name:^external/.*
|
||||
82
external/ubsan.supp
vendored
Normal file
82
external/ubsan.supp
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
# Suppress UBSan errors in external code by source file path
|
||||
# This matches any source file under the external/ directory
|
||||
|
||||
|
||||
undefined:external/*
|
||||
null:external/*
|
||||
nullability-assign:external/*
|
||||
pointer-overflow:external/*
|
||||
pointer-overflow:external/*
|
||||
pointer-overflow:external/*
|
||||
pointer-overflow:external/*
|
||||
alignment:external/*
|
||||
alignment:external/*
|
||||
object-size:external/*
|
||||
signed-integer-overflow:external/*
|
||||
unsigned-integer-overflow:external/*
|
||||
integer-divide-by-zero:external/*
|
||||
float-divide-by-zero:external/*
|
||||
invalid-builtin-use:external/*
|
||||
invalid-objc-cast:external/*
|
||||
implicit-unsigned-integer-truncation:external/*
|
||||
implicit-signed-integer-truncation:external/*
|
||||
implicit-integer-sign-change:external/*
|
||||
implicit-signed-integer-truncation,implicit-integer-sign-change:external/*
|
||||
shift-base:external/*
|
||||
shift-exponent:external/*
|
||||
bounds:external/*
|
||||
unreachable:external/*
|
||||
return:external/*
|
||||
vla-bound:external/*
|
||||
float-cast-overflow:external/*
|
||||
bool:external/*
|
||||
enum:external/*
|
||||
function:external/*
|
||||
returns-nonnull-attribute:external/*
|
||||
nullability-return:external/*
|
||||
nonnull-attribute:external/*
|
||||
nullability-arg:external/*
|
||||
vptr:external/*
|
||||
cfi:external/*
|
||||
vptr_check:external/*
|
||||
|
||||
# Suppress all UBSan errors in Boost libraries
|
||||
# This matches any files containing "boost" in its path or name
|
||||
# src:*/boost/*
|
||||
undefined:*/boost/*
|
||||
null:*/boost/*
|
||||
nullability-assign:*/boost/*
|
||||
pointer-overflow:*/boost/*
|
||||
pointer-overflow:*/boost/*
|
||||
pointer-overflow:*/boost/*
|
||||
pointer-overflow:*/boost/*
|
||||
alignment:*/boost/*
|
||||
alignment:*/boost/*
|
||||
object-size:*/boost/*
|
||||
signed-integer-overflow:*/boost/*
|
||||
unsigned-integer-overflow:*/boost/*
|
||||
integer-divide-by-zero:*/boost/*
|
||||
float-divide-by-zero:*/boost/*
|
||||
invalid-builtin-use:*/boost/*
|
||||
invalid-objc-cast:*/boost/*
|
||||
implicit-unsigned-integer-truncation:*/boost/*
|
||||
implicit-signed-integer-truncation:*/boost/*
|
||||
implicit-integer-sign-change:*/boost/*
|
||||
implicit-signed-integer-truncation,implicit-integer-sign-change:*/boost/*
|
||||
shift-base:*/boost/*
|
||||
shift-exponent:*/boost/*
|
||||
bounds:*/boost/*
|
||||
unreachable:*/boost/*
|
||||
return:*/boost/*
|
||||
vla-bound:*/boost/*
|
||||
float-cast-overflow:*/boost/*
|
||||
bool:*/boost/*
|
||||
enum:*/boost/*
|
||||
function:*/boost/*
|
||||
returns-nonnull-attribute:*/boost/*
|
||||
nullability-return:*/boost/*
|
||||
nonnull-attribute:*/boost/*
|
||||
nullability-arg:*/boost/*
|
||||
vptr:*/boost/*
|
||||
cfi:*/boost/*
|
||||
vptr_check:*/boost/*
|
||||
Reference in New Issue
Block a user