1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2026-02-20 01:20:09 +03:00

Add ThreadSanitizer suppression file

Using no_sanitize("thread") disables instrumentation for the entire
stack frame, meaning functions called within that scope are also not
checked. By using race_top in a suppression file, we can suppress
erros only when they occur at the top of the stack. This provides more
granular control over errors suppression.
As an example, this suppression addresses #2222.
This commit is contained in:
synqa
2026-02-14 22:42:48 +09:00
parent 0e36e095f0
commit c075bd85a8

12
tsan_suppressions.txt Normal file
View File

@ -0,0 +1,12 @@
# This file contains suppressions for Thread Sanitizer.
# For the specification, refer to: https://github.com/google/sanitizers/wiki/threadsanitizersuppressions
# Thread Sanitizer reports data races on Finished and NoDelayFlag in CONNECT_SERIAL_PARAM,
# shared between BindConnectThreadForIPv4, BindConnectThreadForIPv6, and BindConnectEx5.
# These are benign data races: the Set/Wait on FinishEvent provides synchronization
# equivalent to a lock, but TSan cannot recognize it.
# https://github.com/SoftEtherVPN/SoftEtherVPN/pull/2222
race_top:BindConnectThreadForIPv4
race_top:BindConnectThreadForIPv6
race_top:BindConnectEx5