1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2026-03-09 17:59:19 +03:00

Compare commits

...

2 Commits

Author SHA1 Message Date
a0afd98744 Merge pull request #2234 from synqa/add-more-tsan-suppression
Add Thread Sanitizer suppressions for FreeTick64 and UnixLock
2026-02-16 13:03:54 +01:00
ae448abdad Add Thread Sanitizer suppressions for FreeTick64 and UnixLock
- Add suppression for FreeTick64 (#2221).
- Add suppression for UnixLock (#2219).
2026-02-16 18:59:59 +09:00

View File

@ -2,11 +2,27 @@
# For the specification, refer to: https://github.com/google/sanitizers/wiki/threadsanitizersuppressions # For the specification, refer to: https://github.com/google/sanitizers/wiki/threadsanitizersuppressions
## Set/Wait
# This provides synchronization equivalent to a lock, but Thread Sanitizer cannot recognize it.
# Thread Sanitizer reports data race on Halt in TK64.
# https://github.com/SoftEtherVPN/SoftEtherVPN/pull/2221
race_top:FreeTick64
# Thread Sanitizer reports data races on Finished and NoDelayFlag in CONNECT_SERIAL_PARAM, # Thread Sanitizer reports data races on Finished and NoDelayFlag in CONNECT_SERIAL_PARAM,
# shared between BindConnectThreadForIPv4, BindConnectThreadForIPv6, and BindConnectEx5. # 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 # https://github.com/SoftEtherVPN/SoftEtherVPN/pull/2222
race_top:BindConnectThreadForIPv4 race_top:BindConnectThreadForIPv4
race_top:BindConnectThreadForIPv6 race_top:BindConnectThreadForIPv6
race_top:BindConnectEx5 race_top:BindConnectEx5
## Manual PTHREAD_MUTEX_RECURSIVE
# The Lock/Unlock mechanism on Unix is a manual, hand-coded implementation of PTHREAD_MUTEX_RECURSIVE.
# We avoid using the PTHREAD_MUTEX_RECURSIVE directly because it exhibits critical bugs, such as deadlocks
# on certain older systems(Linux, Solaris, or macOS). While Thread Sanitizer will report data races,
# these warnings should be ignored as the logic has been carefully implemented to ensure thread safety.
# https://github.com/SoftEtherVPN/SoftEtherVPN/pull/2219
race_top:UnixLock
race_top:UnixUnlockEx