Skip to content

Commit 143fb61

Browse files
authored
add another oneshot tsan suppression (#7608)
Another false positive causing errors in https://github.com/vortex-data/vortex/actions/runs/24559595293/job/71804664847?pr=7509#step:10:215 Signed-off-by: Mikhail Kot <to@myrrc.dev>
1 parent 75808d5 commit 143fb61

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

.github/workflows/rust-instrumented.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155
ASAN_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer"
156156
MSAN_OPTIONS: "symbolize=1"
157157
MSAN_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer"
158-
TSAN_OPTIONS: "symbolize=1"
158+
TSAN_OPTIONS: "symbolize=1:suppressions=${{ github.workspace }}/vortex-ffi/tsan_suppressions.txt"
159159
TSAN_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer"
160160
VORTEX_SKIP_SLOW_TESTS: "1"
161161
# -Cunsafe-allow-abi-mismatch=sanitizer: libraries like compiler_builtins

vortex-ffi/test/scan.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
3-
#include <iostream>
43
#include <mutex>
54
#include <nanoarrow/common/inline_types.h>
65
#include <nanoarrow/hpp/unique.hpp>
@@ -520,10 +519,15 @@ TEST_CASE("Multithreaded scan", "[datasource]") {
520519
arrays[i] = array;
521520
});
522521
}
522+
523523
for (auto &thread : threads) {
524524
thread.join();
525525
}
526526

527+
vx_partition *const partition = vx_scan_next_partition(scan, &error);
528+
require_no_error(error);
529+
REQUIRE(partition == nullptr);
530+
527531
for (const vx_array *array : arrays) {
528532
REQUIRE(array != nullptr);
529533
defer {

vortex-ffi/tsan_suppressions.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
# This is likely a false positive in TSan for oneshot::channel and kanal
66
# where ordering is correct but uses an explicit fence and not relaxed load
77
race:oneshot-*/src/channel.rs
8+
race:oneshot-*/src/lib.rs

0 commit comments

Comments
 (0)