mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-01 00:00:10 +02:00
* upgrade to rand 0.7.0 (MSRV 1.32) * upgrade to parking_lot 0.9.0 * Remove last non-dev dependency on rand crate (#1324) Use std RandomState for XorShift seeding. This allows dropping _rand_ crate dep here, accept as a dev dependency for tests or benchmarks. * increase CI MSRV to 1.31.0 * increase nightly for CI TSAN tests * add TSAN suppressions for recent rand related updates * make latest TSAN suppression patterns more general * upgrade tempfile dev dep for common rand version But avoid tempfile 3.2 for now, since history demonstrates it bumps rand versions and MSRV in MINOR updates. * update (dev dep) env_logger to latest 0.6 * reactor, threadpool: bump PATCH versions, doc links, change logs [ci-release]
45 lines
1.7 KiB
Plaintext
45 lines
1.7 KiB
Plaintext
# TSAN suppressions file for Tokio
|
|
|
|
# TSAN does not understand fences and `Arc::drop` is implemented using a fence.
|
|
# This causes many false positives.
|
|
race:Arc*drop
|
|
race:Weak*drop
|
|
|
|
# `std` mpsc is not used in any Tokio code base. This race is triggered by some
|
|
# rust runtime logic.
|
|
race:std*mpsc_queue
|
|
|
|
# Probably more fences in std.
|
|
race:__call_tls_dtors
|
|
|
|
# The epoch-based GC uses fences.
|
|
race:crossbeam_epoch
|
|
|
|
# Push and steal operations in crossbeam-deque may cause data races, but such
|
|
# data races are safe. If a data race happens, the value read by `steal` is
|
|
# forgotten and the steal operation is then retried.
|
|
race:crossbeam_deque*push
|
|
race:crossbeam_deque*steal
|
|
|
|
# This filters out expected data race in the Treiber stack implementations.
|
|
# Treiber stacks are inherently racy. The pop operation will attempt to access
|
|
# the "next" pointer on the node it is attempting to pop. However, at this
|
|
# point it has not gained ownership of the node and another thread might beat
|
|
# it and take ownership of the node first (touching the next pointer). The
|
|
# original pop operation will fail due to the ABA guard, but tsan still picks
|
|
# up the access on the next pointer.
|
|
race:Backup::next_sleeper
|
|
race:Backup::set_next_sleeper
|
|
race:WorkerEntry::set_next_sleeper
|
|
|
|
# This ignores a false positive caused by `thread::park()`/`thread::unpark()`.
|
|
# See: https://github.com/rust-lang/rust/pull/54806#issuecomment-436193353
|
|
race:pthread_cond_destroy
|
|
|
|
# Recent rand dependency updates and seeding changes have introduced
|
|
# lazy_static's and other racy code. See:
|
|
# https://github.com/tokio-rs/tokio/pull/1358#issuecomment-516172383
|
|
race:RandomState*::build_hasher
|
|
race:lazy_static::
|
|
race:c2_chacha::guts
|