0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 01:21:03 +01:00
mongodb/etc/tsan.suppressions
Sophia Tan 759d44b304 SERVER-87142 Suppress false positive TSAN report on AsyncResultsMerger::_askForNextBatch (#19548)
GitOrigin-RevId: 2d6eee60e6c20bbe5e232b0c6120797532889ed4
2024-03-06 18:09:10 +00:00

45 lines
2.2 KiB
Plaintext

# Death test signal reports cause test failures because the report can't be
# parsed as JSON. Suppress those messages specifically.
signal:src/mongo/unittest/death_test.cpp
# For some reason there is a race condition in mktime and we need to not alert for that
race:tzset_internal
# WiredTiger is known to cause false positives for data races because it uses a
# nonstandard thread model that TSAN doesn't know how to deal with. We have
# already denylisted WiredTiger in TSAN, but that only affects threads created
# within the WiredTiger source. For threads that call *into* WiredTiger, we
# need to add suppressions so we still get any potential failures from
# elsewhere.
#
# This is a temporary addition for now because it's possible that these are
# real positives that we need to do something with. However, because we know
# that false positives are more likely, we're deferring them until we have
# fixed the ones we know are real.
# TODO: https://jira.mongodb.org/browse/SERVER-48599
called_from_lib:libwiredtiger.so
called_from_lib:libwiredtiger_snappy.so
race:src/third_party/wiredtiger/*
# These functions call malloc() down the line while inside a signal handler.
# Since we've never had problems with any of the allocators we use, and since
# the process is going to exit in actual practice (unlike in some of our tests),
# we are taking the calculated risk to allow AS-unsafe calls in our signal
# handlers.
signal:abruptQuitAction
signal:abruptQuitWithAddrSignal
signal:StackTraceSigAltStackTest::tryHandler
# https://github.com/mongodb/mongo-c-driver/blob/3f2c35d97e7f12de5da4f049dce4c3f8494aba67/.tsan-suppressions#L2C1-L2C30
# This warning in the mongo-c-driver is expected to be harmless and is suppressed in the
# mongo-c-driver repo itself.
race:_mongoc_handshake_freeze
# False positive when call AsyncResultsMerger::_askForNextBatch from executor thread.
# Happens because we miss synchronization in reading OperationContext::comment in
# RemoteCommandRequest constructor. Acutally, the writing OperationContext::comment
# in client thread always occurrs before reading instead of in parallel.
#
# TODO SERVER-84514: remove this suppression once we clarify the synchronization.
race:mongo::AsyncResultsMerger::_askForNextBatch