-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtsan.supp
More file actions
69 lines (59 loc) · 1.97 KB
/
tsan.supp
File metadata and controls
69 lines (59 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# =============================================================================
# CULVERIN TSAN SUPPRESSIONS (Python 3.13 - 3.15t)
# =============================================================================
# --- 1. CPython Internal: Biased Refcounting (BRC) ---
# BRC uses custom hand-offs between threads that TSan flags as races.
race:brc.c
race:_Py_brc_*
race:_PyObject_Thread*
race:biased_refcnt
# --- 2. CPython Internal: Allocators (mimalloc & obmalloc) ---
# The free-threaded allocator is lock-free and extremely noisy to TSan.
race:obmalloc.c
race:pycore_freelist.h
race:mimalloc
race:_mi_*
race:mi_pthread_done
race:mi_segment_alloc
# --- 3. CPython Internal: Core Interpreter & JIT ---
# TSan flags Tier 2 JIT warmup and opcode specialization as races.
race:object_stack.c
race:pycore_object_stack.h
race:PyEval_EvalFrameDefault
race:PyObject_GenericSetAttr
race:PyObject_GC_*
race:PyGC_Collect
race:_PyTypes_Init
race:_PyExc_InitTypes
# --- 4. CPython Internal: Built-in Types (Dict/Unicode) ---
# Shared global strings and dict-resizing are handled by the runtime.
race:dictresize
race:PyDict_*
race:unicode_eq
race:PyUnicode_*
race:type_get_doc
race:bcmp
# Kill the internal Python 3.12 qsort race
race:qsort
race:qsort_r
# Kill the internal thread start race
race:PyThread_start_new_thread
# --- 5. Third-Party: Jolt Physics ---
# Jolt uses a custom, highly optimized task scheduler and job system.
# We suppress JPH namespace to focus TSan on the Culverin bridge.
race:^JPH::*
# --- 6. OS & System Library Noise ---
# Catch-all for known noise in system-level sorting and thread starts.
race:^qsort$
race:^qsort_r$
race:do_start_joinable_thread
# --- 7. Binary Catch-all ---
# If all else fails, ignore races occurring inside the python binary itself.
# race:python3.13t
# race:python3.14t
# race:python3.15t
# We intentionally allow dirty reads on physics buffers for performance
race:run_binary_simd_less_f64
race:numpy.core.*
race:numpy._core.src.multiarray
race:_multiarray_umath