Skip to content

Commit dd64dd0

Browse files
committed
fix: add TSan suppressions file and use absolute path in CI
The TSan CI job referenced tsan_suppressions.txt with a relative path, which resolved against the test binary directory instead of the repo root. - Create tsan_suppressions.txt with Rust FFI suppressions - Use $GITHUB_WORKSPACE absolute path in TSAN_OPTIONS
1 parent 5690e6d commit dd64dd0

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

.github/workflows/builds.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ jobs:
343343
- name: tsan
344344
preset: linux-debug-tsan
345345
build_dir: build-debug-tsan
346-
env_vars: "TSAN_OPTIONS=suppressions=tsan_suppressions.txt:halt_on_error=1"
346+
env_vars: "TSAN_OPTIONS=suppressions=$GITHUB_WORKSPACE/tsan_suppressions.txt:halt_on_error=1"
347347

348348
name: Sanitizer (${{ matrix.name }})
349349
runs-on: ubuntu-latest

tsan_suppressions.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# ThreadSanitizer suppressions for livekit client-sdk-cpp
2+
#
3+
# Rust FFI layer may trigger false positives in TSan because
4+
# TSan cannot see synchronization inside the Rust runtime.
5+
# Add specific suppressions here as needed.
6+
#
7+
# Syntax:
8+
# race:<function_or_source_pattern>
9+
# deadlock:<function_or_source_pattern>
10+
# mutex:<function_or_source_pattern>
11+
12+
# Rust standard library internals
13+
race:libstd-*.so
14+
15+
# Rust FFI bridge (livekit_ffi)
16+
race:livekit_ffi_*

0 commit comments

Comments
 (0)