2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
11 // This file contains the WebRTC suppressions for ThreadSanitizer.
13 // http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
16 #if defined(THREAD_SANITIZER)
18 // Please make sure the code below declares a single string variable
19 // kTSanDefaultSuppressions contains TSan suppressions delimited by newlines.
20 // See http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
21 // for the instructions on writing suppressions.
22 char kTSanDefaultSuppressions[] =
24 // WebRTC specific suppressions.
26 // Split up suppressions covered previously by thread.cc and messagequeue.cc.
27 "race:rtc::MessageQueue::Quit\n"
28 "race:FileVideoCapturerTest::VideoCapturerListener::OnFrameCaptured\n"
29 "race:vp8cx_remove_encoder_threads\n"
31 // Usage of trace callback and trace level is racy in libjingle_media_unittests.
32 // https://code.google.com/p/webrtc/issues/detail?id=3372
33 "race:webrtc::TraceImpl::WriteToFile\n"
34 "race:webrtc::VideoEngine::SetTraceFilter\n"
35 "race:webrtc::VoiceEngine::SetTraceFilter\n"
36 "race:webrtc::Trace::set_level_filter\n"
37 "race:webrtc::GetStaticInstance<webrtc::TraceImpl>\n"
40 // https://code.google.com/p/webrtc/issues/detail?id=2521 for details.
41 "race:webrtc/modules/audio_processing/aec/aec_core.c\n"
42 "race:webrtc/modules/audio_processing/aec/aec_rdft.c\n"
44 // libjingle_p2p_unittest
45 // https://code.google.com/p/webrtc/issues/detail?id=2079
46 "race:webrtc/base/testclient.cc\n"
47 "race:webrtc/base/virtualsocketserver.cc\n"
48 "race:talk/p2p/base/stunserver_unittest.cc\n"
51 // https://code.google.com/p/webrtc/issues/detail?id=2080
52 "race:webrtc/base/logging.cc\n"
53 "race:webrtc/base/sharedexclusivelock_unittest.cc\n"
54 "race:webrtc/base/signalthread_unittest.cc\n"
56 // third_party/usrsctp
57 // TODO(jiayl): https://code.google.com/p/webrtc/issues/detail?id=3492
58 "race:user_sctp_timer_iterate\n"
60 // Potential deadlocks detected after roll in r6516.
61 // https://code.google.com/p/webrtc/issues/detail?id=3509
62 "deadlock:cricket::WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame\n"
63 "deadlock:cricket::WebRtcVideoChannel2::WebRtcVideoSendStream::SetCapturer\n"
64 "deadlock:webrtc::ProcessThreadImpl::RegisterModule\n"
65 "deadlock:webrtc::RTCPReceiver::SetSsrcs\n"
66 "deadlock:webrtc::RTPSenderAudio::RegisterAudioPayload\n"
67 "deadlock:webrtc::test::UdpSocketManagerPosixImpl::RemoveSocket\n"
68 "deadlock:webrtc::vcm::VideoReceiver::RegisterPacketRequestCallback\n"
69 "deadlock:webrtc::ViECaptureImpl::ConnectCaptureDevice\n"
70 "deadlock:webrtc::ViEChannel::StartSend\n"
71 "deadlock:webrtc::ViECodecImpl::GetSendSideDelay\n"
72 "deadlock:webrtc::ViEEncoder::OnLocalSsrcChanged\n"
73 "deadlock:webrtc::ViESender::RegisterSendTransport\n"
75 // End of suppressions.
76 ; // Please keep this semicolon.
78 #endif // THREAD_SANITIZER