From afede835ee3b0ed1f95ae1d54bed149573fb6282 Mon Sep 17 00:00:00 2001 From: "kjellander@webrtc.org" Date: Fri, 10 Oct 2014 09:18:34 +0000 Subject: [PATCH] Cleanup scripts and suppressions for TSan v1 Since we don't use it anymore on Linux and don't plan to ever support it for Windows. BUG= R=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31649004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7420 4adac7df-926f-26a2-2b94-8c16560cd09d --- ...dio_decoder_unittests.gtest-tsan_win32.txt | 4 - .../libjingle_media_unittest.gtest-tsan.txt | 12 - .../libjingle_p2p_unittest.gtest-tsan.txt | 4 - ...ibjingle_p2p_unittest.gtest-tsan_linux.txt | 7 - ...gle_peerconnection_unittest.gtest-tsan.txt | 45 - .../libjingle_unittest.gtest-tsan.txt | 102 -- .../modules_tests.gtest-tsan.txt | 12 - .../modules_tests.gtest-tsan_win32.txt | 5 - .../modules_unittests.gtest-tsan.txt | 2 - .../modules_unittests.gtest-tsan_win32.txt | 17 - .../neteq_unittests.gtest-tsan_win32.txt | 3 - ...em_wrappers_unittests.gtest-tsan_win32.txt | 2 - tools/valgrind-webrtc/tsan/OWNERS | 1 - tools/valgrind-webrtc/tsan/PRESUBMIT.py | 42 - tools/valgrind-webrtc/tsan/suppressions.txt | 1276 ----------------- .../valgrind-webrtc/tsan/suppressions_mac.txt | 11 - .../tsan/suppressions_win32.txt | 48 - tools/valgrind-webrtc/webrtc_tests.bat | 22 +- tools/valgrind-webrtc/webrtc_tests.py | 5 +- tools/valgrind-webrtc/webrtc_tests.sh | 33 +- 20 files changed, 5 insertions(+), 1648 deletions(-) delete mode 100755 tools/valgrind-webrtc/gtest_exclude/audio_decoder_unittests.gtest-tsan_win32.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/libjingle_media_unittest.gtest-tsan.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan_linux.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/libjingle_peerconnection_unittest.gtest-tsan.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/libjingle_unittest.gtest-tsan.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan.txt delete mode 100755 tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan_win32.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan_win32.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/neteq_unittests.gtest-tsan_win32.txt delete mode 100644 tools/valgrind-webrtc/gtest_exclude/system_wrappers_unittests.gtest-tsan_win32.txt delete mode 100644 tools/valgrind-webrtc/tsan/OWNERS delete mode 100644 tools/valgrind-webrtc/tsan/PRESUBMIT.py delete mode 100644 tools/valgrind-webrtc/tsan/suppressions.txt delete mode 100644 tools/valgrind-webrtc/tsan/suppressions_mac.txt delete mode 100644 tools/valgrind-webrtc/tsan/suppressions_win32.txt diff --git a/tools/valgrind-webrtc/gtest_exclude/audio_decoder_unittests.gtest-tsan_win32.txt b/tools/valgrind-webrtc/gtest_exclude/audio_decoder_unittests.gtest-tsan_win32.txt deleted file mode 100755 index df0d80f69c..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/audio_decoder_unittests.gtest-tsan_win32.txt +++ /dev/null @@ -1,4 +0,0 @@ -# https://code.google.com/p/webrtc/issues/detail?id=2323 -AudioDecoderIsacFbTest.EncodeDecode -AudioDecoderIsacFloatTest.EncodeDecode -AudioDecoderIsacSwbTest.EncodeDecode diff --git a/tools/valgrind-webrtc/gtest_exclude/libjingle_media_unittest.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/libjingle_media_unittest.gtest-tsan.txt deleted file mode 100644 index 958893388d..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/libjingle_media_unittest.gtest-tsan.txt +++ /dev/null @@ -1,12 +0,0 @@ -TODO(wu): https://code.google.com/p/webrtc/issues/detail?id=2380 -WebRtcVideoMediaChannelTest.TwoStreamsAddAndRemoveUnsignalledRecv -WebRtcVideoMediaChannelTest.TwoStreamsReUseFirstStream -WebRtcVideoMediaChannelTest.TwoStreamsSendAndFailUnsignalledRecv -WebRtcVideoMediaChannelTest.TwoStreamsSendAndFailUnsignalledRecvInOneToOne -WebRtcVideoMediaChannelTest.TwoStreamsSendAndReceive -WebRtcVideoMediaChannelTest.TwoStreamsSendAndUnsignalledRecv - -TODO(pbos): This suppression is overly broad, but offline talks with kjellander@ -indicate that we can move over to tsanv2 and deprecate tsanv1, which will remove -the need for tsanv1 suppressions. -WebRtcVideoChannel2BaseTest.* diff --git a/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan.txt deleted file mode 100644 index f661c35802..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan.txt +++ /dev/null @@ -1,4 +0,0 @@ -# TODO(wu): Reenable P2PTransportChannelTest after issue 2158 is resolved. -P2PTransportChannelTest.* -PortTest.TestSendStunMessageAsIce -VoiceChannelTest.TestKeyboardMute diff --git a/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan_linux.txt b/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan_linux.txt deleted file mode 100644 index 1e4f116caf..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/libjingle_p2p_unittest.gtest-tsan_linux.txt +++ /dev/null @@ -1,7 +0,0 @@ -# https://code.google.com/p/webrtc/issues/detail?id=2396 -ChannelManagerTest.StartupShutdownOnThread -PortTest.* -P2PTransportChannel* -DtlsTransportChannelTest.* -RelayPortTest.* -PortAllocatorTest.* diff --git a/tools/valgrind-webrtc/gtest_exclude/libjingle_peerconnection_unittest.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/libjingle_peerconnection_unittest.gtest-tsan.txt deleted file mode 100644 index 745121f47d..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/libjingle_peerconnection_unittest.gtest-tsan.txt +++ /dev/null @@ -1,45 +0,0 @@ -# Tests that are failing when run under TSan. -DtmfSenderTest.InsertDtmf -JsepPeerConnectionP2PTestClient.AddDataChannelAfterRenegotiation -JsepPeerConnectionP2PTestClient.GetAudioInputLevelStats -JsepPeerConnectionP2PTestClient.GetAudioOutputLevelStats -JsepPeerConnectionP2PTestClient.GetBytesReceivedStats -JsepPeerConnectionP2PTestClient.GetBytesSentStats -JsepPeerConnectionP2PTestClient.IceRestart -JsepPeerConnectionP2PTestClient.LocalP2PTestAnswerAudio -JsepPeerConnectionP2PTestClient.LocalP2PTestAnswerVideo -JsepPeerConnectionP2PTestClient.LocalP2PTest16To9 -JsepPeerConnectionP2PTestClient.LocalP2PTestDataChannel -JsepPeerConnectionP2PTestClient.LocalP2PTestDtls -JsepPeerConnectionP2PTestClient.LocalP2PTestDtmf -JsepPeerConnectionP2PTestClient.LocalP2PTestReceiverDoesntSupportData -JsepPeerConnectionP2PTestClient.LocalP2PTestOfferDtlsButNotSdes -JsepPeerConnectionP2PTestClient.LocalP2PTestOfferSdesToDtls -JsepPeerConnectionP2PTestClient.LocalP2PTestOfferDtlsToSdes -JsepPeerConnectionP2PTestClient.LocalP2PTestWithoutMsid -JsepPeerConnectionP2PTestClient.LocalP2PTestWithVideoDecoderFactory -JsepPeerConnectionP2PTestClient.RegisterDataChannelObserver -JsepPeerConnectionP2PTestClient.UpdateOfferWithRejectedContent -PeerConnectionInterfaceTest.DataChannelCloseWhenPeerConnectionClose -PeerConnectionEndToEndTest.Call -PeerConnectionEndToEndTest.CallWithLegacySdp -PeerConnectionInterfaceTest.ReceiveFireFoxOffer -PeerConnectionInterfaceTest.TestDataChannel -PeerConnectionInterfaceTest.TestSendBinaryOnRtpDataChannel -PeerConnectionInterfaceTest.TestSendOnlyDataChannel - -# The following disables all tests under tsan due to crashes on shutdown. -SctpDataChannelTest.* -DtmfSenderTest.* -JsepSessionDescriptionTest.* -LocalAudioSourceTest.* -LocalVideoSourceTest.* -MediaStreamSignalingTest.* -JsepPeerConnectionP2PTestClient.* -PeerConnectionFactoryTestInternal.* -PeerConnectionFactoryTest.* -PeerConnectionInterfaceTest.* -FakeAdmTest.* -VideoTrack.* -WebRtcSdpTest.* -WebRtcSessionTest.* diff --git a/tools/valgrind-webrtc/gtest_exclude/libjingle_unittest.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/libjingle_unittest.gtest-tsan.txt deleted file mode 100644 index 2905ebfeb6..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/libjingle_unittest.gtest-tsan.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Tests that are failing when run under TSan. -CpuMonitorTest.TestCpuMonitor -PhysicalSocketTest.TestUdpReadyToSendIPv4 -ThreadTest.Release - -# The following lines disables all tests on tsan since it crashes on shutdown. -AsyncHttpRequestTest.* -FixedSizeLockFreeQueueTest.* -AutoDetectProxyTest.* -BandwidthSmootherTest.* -Base64.* -BasicTypesTest.* -BindTest.* -BufferTest.* -ByteBufferTest.* -ByteOrderTest.* -CpuMonitorTest.* -Crc32Test.* -EventTest.* -FileLockTest.* -FilesystemTest.* -RandomTest.* -HttpBaseTest.* -Url.* -HttpResponseData.* -HttpServer.* -IPAddressTest.* -LogTest.* -Md5DigestTest.* -MessageDigestTest.* -MessageQueueTest.* -MessageQueueManager.* -MultipartTest.* -NatTest.* -NatTcpTest.* -NetworkTest.* -NullSocketServerTest.* -OptionsFile.* -Pathname.* -PhysicalSocketTest.* -PosixSignalDeliveryTest.* -ProfilerTest.* -ProxyTest.* -ProxyDetectTest.* -RateLimiterTest.* -RateTrackerTest.* -ReferenceCountedSingletonFactory.* -RollingAccumulatorTest.* -Sha1DigestTest.* -SharedExclusiveLockTest.* -SignalThreadTest.* -SigslotDefault.* -SigslotSTSlotTest.* -SigslotMTSlotTest.* -SigslotMTLockTest.* -DestructionOrder.* -SocketAddressTest.* -StreamSegment.* -FifoBufferTest.* -AsyncWriteTest.* -Utf8EncodeTest.* -HexEncodeTest.* -TokenizeTest.* -SplitTest.* -BoolTest.* -string_matchTest.* -string_trim_Test.* -string_startsTest.* -string_endsTest.* -start_task_test.* -unstarted_task_test.* -TestClientTest.* -ThreadTest.* -TimeTest.* -Urlencode.* -Urldecode.* -VersionParsing.* -VirtualSocketServerTest.* -QNameTest.* -XmlBuilderTest.* -XmlElementTest.* -XmlnsStackTest.* -XmlParserTest.* -XmlPrinterTest.* -HangoutPubSubClientTest.* -JidTest.* -MucRoomConfigTaskTest.* -MucRoomDiscoveryTaskTest.* -MucRoomLookupTaskTest.* -MucRoomUniqueHangoutIdTaskTest.* -PingTaskTest.* -PubSubClientTest.* -PubSubTasksTest.* -XmppEngineTest.* -XmppLoginTaskTest.* -XmppStanzaParserTest.* -LateBindingSymbolTable.* -LinuxFdWalk.* -SSLIdentityTest.* -SSLStreamAdapterTestTLS.* -SSLStreamAdapterTestDTLS.* -SSLStreamAdapterTestDTLSFromPEMStrings.* diff --git a/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan.txt deleted file mode 100644 index 661b69b997..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan.txt +++ /dev/null @@ -1,12 +0,0 @@ -# Tests that are too slow. -AudioCodingModuleTest.TestAllCodecs* -AudioCodingModuleTest.TestEncodeDecode* -AudioCodingModuleTest.TestFEC* -AudioCodingModuleTest.TestIsac* -AudioCodingModuleTest.TwoWayCommunication* -AudioCodingModuleTest.TestStereo* -AudioCodingModuleTest.TestVADDTX* -AudioCodingModuleTest.TestOpus* -FecTest.FecTest -TestVp8Impl.BaseUnitTest -VideoProcessorIntegrationTest.ProcessNoLossChangeBitRate diff --git a/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan_win32.txt b/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan_win32.txt deleted file mode 100755 index 9a62a68960..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/modules_tests.gtest-tsan_win32.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Tests that are too slow. -VideoProcessorIntegrationTest.ProcessZeroPacketLoss - -# https://code.google.com/p/webrtc/issues/detail?id=2328 -DualStreamTest.BitExactSync* diff --git a/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan.txt b/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan.txt deleted file mode 100644 index 8588487ae4..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Tests that are too slow. -CommonFormats/AudioProcessingTest* diff --git a/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan_win32.txt b/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan_win32.txt deleted file mode 100644 index af6b461565..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/modules_unittests.gtest-tsan_win32.txt +++ /dev/null @@ -1,17 +0,0 @@ -# Too slow to run with TSan on Windows. -ApmTest.EchoCancellationReportsCorrectDelays -ApmTest.IdenticalInputChannelsResultInIdenticalOutputChannels -CommonFormats/AudioProcessingTest* -RingBufferTest.RandomStressTest -RingBufferTest.RandomStressTestWithNullPtr -VideoProcessingModuleTest.ContentAnalysis -VideoProcessingModuleTest.Deflickering -VideoProcessingModuleTest.Denoising -TestVideoSenderWithVp8.* - -# https://code.google.com/p/webrtc/issues/detail?id=1938 -MouseCursorShapeTest.MatchCursors - -# https://code.google.com/p/webrtc/issues/detail?id=2329 -NetEqDecodingTest.TestBitExactness -NetEqDecodingTest.TestNetworkStatistics diff --git a/tools/valgrind-webrtc/gtest_exclude/neteq_unittests.gtest-tsan_win32.txt b/tools/valgrind-webrtc/gtest_exclude/neteq_unittests.gtest-tsan_win32.txt deleted file mode 100644 index 01875e67e0..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/neteq_unittests.gtest-tsan_win32.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://code.google.com/p/webrtc/issues/detail?id=2329 -NetEqDecodingTest.TestBitExactness -NetEqDecodingTest.TestNetworkStatistics diff --git a/tools/valgrind-webrtc/gtest_exclude/system_wrappers_unittests.gtest-tsan_win32.txt b/tools/valgrind-webrtc/gtest_exclude/system_wrappers_unittests.gtest-tsan_win32.txt deleted file mode 100644 index f6ff057e25..0000000000 --- a/tools/valgrind-webrtc/gtest_exclude/system_wrappers_unittests.gtest-tsan_win32.txt +++ /dev/null @@ -1,2 +0,0 @@ -# https://code.google.com/p/webrtc/issues/detail?id=2330 -ClockTest.NtpTime diff --git a/tools/valgrind-webrtc/tsan/OWNERS b/tools/valgrind-webrtc/tsan/OWNERS deleted file mode 100644 index 72e8ffc0db..0000000000 --- a/tools/valgrind-webrtc/tsan/OWNERS +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/tools/valgrind-webrtc/tsan/PRESUBMIT.py b/tools/valgrind-webrtc/tsan/PRESUBMIT.py deleted file mode 100644 index 2890c9fa97..0000000000 --- a/tools/valgrind-webrtc/tsan/PRESUBMIT.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -import os -import re -import sys - -""" -Copied from Chrome's src/tools/valgrind/tsan/PRESUBMIT.py - -See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts -for more details on the presubmit API built into gcl. -""" - -def CheckChange(input_api, output_api): - """Checks the TSan suppressions files for bad suppressions.""" - - # Add the path to the Chrome valgrind dir to the import path: - tools_vg_path = os.path.join(input_api.PresubmitLocalPath(), '..', '..', - 'valgrind') - sys.path.append(tools_vg_path) - import suppressions - - return suppressions.PresubmitCheck(input_api, output_api) - - -def CheckChangeOnUpload(input_api, output_api): - return CheckChange(input_api, output_api) - - -def CheckChangeOnCommit(input_api, output_api): - return CheckChange(input_api, output_api) - - -def GetPreferredTrySlaves(): - return ['linux_tsan'] diff --git a/tools/valgrind-webrtc/tsan/suppressions.txt b/tools/valgrind-webrtc/tsan/suppressions.txt deleted file mode 100644 index af1e6d2d49..0000000000 --- a/tools/valgrind-webrtc/tsan/suppressions.txt +++ /dev/null @@ -1,1276 +0,0 @@ -# This file is used in addition to the one already maintained in Chrome. -# It acts as a place holder for future additions for WebRTC. -# It must exist for the Python wrapper script to work properly. - -# There are two kinds of suppressions in this file. -# 1. webrtc stuff -# -# 2. libjingle stuff (talk folder) -#----------------------------------------------------------------------- - -# 1. webrtc stuff -{ - bug_1205_33 - ThreadSanitizer:Race - fun:webrtc::PeerConnectionProxy::~PeerConnectionProxy - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::Release - fun:rtc::scoped_refptr::~scoped_refptr - ... -} -{ - bug_1205_34 - ThreadSanitizer:Race - fun:rtc::AtomicOps::Increment - fun:rtc::RefCountedObject::AddRef - fun:rtc::scoped_refptr::scoped_refptr - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - ... -} -{ - bug_1205_35 - ThreadSanitizer:Race - fun:rtc::scoped_refptr::scoped_refptr - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - ... -} -{ - bug_1205_36 - ThreadSanitizer:Race - fun:rtc::MessageHandler::~MessageHandler - fun:FakeAudioCaptureModule::~FakeAudioCaptureModule - ... -} -{ - bug_1205_39 - ThreadSanitizer:Race - fun:rtc::Thread::Send - fun:FakeAudioCaptureModule::UpdateProcessing - fun:FakeAudioCaptureModule::StopRecording - fun:webrtc::VoEBaseImpl::StopSend - fun:webrtc::VoEBaseImpl::DeleteChannel - fun:cricket::WebRtcVoiceMediaChannel::~WebRtcVoiceMediaChannel - ... -} -{ - bug_1205_41 - ThreadSanitizer:Race - fun:rtc::Thread::Send - fun:FakeAudioCaptureModule::~FakeAudioCaptureModule - ... -} -{ - bug_2078_2 - ThreadSanitizer:Race - ... - fun:rtc::MemoryStreamBase::Read - ... - fun:cricket::RtpDumpReader::ReadPacket - ... -} -{ - bug_2078_3 - ThreadSanitizer:Race - fun:cricket::RtpSenderReceiver::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2078_4 - ThreadSanitizer:Race - fun:cricket::FileNetworkInterface::SendPacket - fun:cricket::RtpSenderReceiver::SendRtpPacket - fun:cricket::RtpSenderReceiver::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2078_7 - ThreadSanitizer:Race - fun:rtc::MemoryStreamBase::~MemoryStreamBase - fun:rtc::MemoryStream::~MemoryStream - ... -} -{ - bug_2078_8 - ThreadSanitizer:Race - fun:rtc::MemoryStreamBase::SetPosition - fun:rtc::StreamInterface::Rewind - fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream - ... -} -{ - bug_2078_13 - ThreadSanitizer:Race - fun:std::_Vector_base::~_Vector_base - fun:std::vector::~vector - fun:cricket::RtpDumpPacket::~RtpDumpPacket - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_14 - ThreadSanitizer:Race - fun:cricket::RtpDumpReader::~RtpDumpReader - fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader - fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader - fun:rtc::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_15 - ThreadSanitizer:Race - fun:rtc::FileStream::Close - fun:rtc::FileStream::~FileStream - fun:rtc::FileStream::~FileStream - fun:rtc::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_16 - ThreadSanitizer:Race - fun:rtc::StreamInterface::~StreamInterface - fun:rtc::FileStream::~FileStream - fun:rtc::FileStream::~FileStream - fun:rtc::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_18 - ThreadSanitizer:Race - fun:rtc::MemoryStream::~MemoryStream - ... -} -{ - bug_2078_22 - ThreadSanitizer:Race - fun:rtc::MessageQueue::Quit - fun:rtc::Thread::Stop - ... -} -{ - bug_2078_23 - ThreadSanitizer:Race - fun:::FileVideoCapturerTest::VideoCapturerListener::OnFrameCaptured - fun:sigslot::_connection2::emit - ... - fun:cricket::FileVideoCapturer::ReadFrame - fun:cricket::FileVideoCapturer::FileReadThread::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:cricket::FileVideoCapturer::FileReadThread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2078_24 - ThreadSanitizer:Race - fun:rtc::MemoryStreamBase::SetPosition - fun:rtc::StreamInterface::Rewind - ... -} -{ - bug_2078_25 - ThreadSanitizer:Race - fun:cricket::FileNetworkInterface::SendPacket - fun:cricket::MediaChannel::DoSendPacket - fun:cricket::MediaChannel::SendPacket - fun:cricket::RtpSenderReceiver::SendRtpPacket - fun:cricket::RtpSenderReceiver::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2079_1 - ThreadSanitizer:Race - fun:rtc::VirtualSocketServer::AddPacketToNetwork - fun:rtc::VirtualSocketServer::SendUdp - fun:rtc::VirtualSocket::SendUdp - fun:rtc::VirtualSocket::SendTo - fun:rtc::AsyncUDPSocket::SendTo - fun:cricket::StunServer::SendResponse - fun:cricket::StunServer::OnBindingRequest - fun:cricket::StunServer::OnPacket - fun:sigslot::_connection4::emit - ... -} -{ - bug_2079_5 - ThreadSanitizer:Race - fun:rtc::Thread::Send - fun:cricket::Transport::SetRole - fun:cricket::BaseSession::GetOrCreateTransportProxy - fun:cricket::BaseSession::CreateChannel - fun:cricket::FakeSession::CreateChannel - fun:cricket::VoiceChannel::Init - fun:cricket::ChannelManager::CreateVoiceChannel_w - ... -} -{ - bug_2079_6 - ThreadSanitizer:Race - fun:rtc::Thread::ReceiveSends - fun:rtc::Thread::Send - fun:rtc::Thread::Invoke - ... -} -{ - bug_2079_8 - ThreadSanitizer:Race - fun:rtc::Thread::Invoke - fun:cricket::ChannelManager::SetCaptureDevice - ... -} -{ - bug_2079_9 - ThreadSanitizer:Race - fun:rtc::Thread::Send - fun:cricket::Transport::SetIceRole - fun:cricket::BaseSession::GetOrCreateTransportProxy - fun:cricket::BaseSession::CreateChannel - fun:cricket::FakeSession::CreateChannel - fun:cricket::VoiceChannel::Init - fun:cricket::ChannelManager::CreateVoiceChannel_w - ... -} -{ - bug_2080_1 - ThreadSanitizer:Race - fun:rtc::MessageQueue::Quit - fun:rtc::SignalThread::Destroy - ... -} -{ - bug_2080_2 - ThreadSanitizer:Race - fun:rtc::MessageQueue::Quit - fun:rtc::AsyncHttpRequest::OnComplete - fun:sigslot::_connection2::emit - ... -} -{ - bug_2080_3 - ThreadSanitizer:Race - fun:rtc::LogMessage::UpdateMinLogSeverity - fun:rtc::LogMessage::AddLogToStream - ... -} -{ - bug_2080_8 - ThreadSanitizer:Race - ... - fun:rtc::AsyncUDPSocket::OnReadEvent - fun:sigslot::_connection1::emit - ... -} -{ - bug_2080_9 - ThreadSanitizer:Race - ... - fun:rtc::AsyncUDPSocket::OnWriteEvent - fun:sigslot::_connection1::emit - ... -} -{ - bug_2080_14 - ThreadSanitizer:Race - fun:rtc::IPAddress::IPAddress - fun:rtc::SocketAddress::ToSockAddrStorage - fun:rtc::PhysicalSocket::SendTo - fun:rtc::AsyncUDPSocket::SendTo - fun:rtc::NATServer::OnExternalPacket - ... -} -{ - bug_2080_16 - ThreadSanitizer:Race - ... - fun:rtc::IPAddress::operator< - ... -} -{ - bug_2080_18 - ThreadSanitizer:Race - fun:rtc::SocketAddress::port - ... -} -{ - bug_2080_19 - ThreadSanitizer:Race - fun:std::vector::_M_insert_aux - fun:std::vector::push_back - fun:rtc::TestClient::OnPacket - ... -} -{ - bug_2080_20 - ThreadSanitizer:Race - fun:rtc::VirtualSocketServer::AddPacketToNetwork - fun:rtc::VirtualSocketServer::SendUdp - fun:rtc::VirtualSocket::SendUdp - fun:rtc::VirtualSocket::SendTo - fun:rtc::AsyncUDPSocket::SendTo - fun:rtc::TestClient::SendTo - ... -} -{ - bug_2080_21 - ThreadSanitizer:Race - fun:rtc::SharedExclusiveTask::waiting_time_in_ms - ... -} -{ - bug_2080_22 - ThreadSanitizer:Race - fun:rtc::SharedExclusiveTask::~SharedExclusiveTask - fun:rtc::ReadTask::~ReadTask - ... -} -{ - bug_2080_24 - ThreadSanitizer:Race - ... - fun:OwnerThread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2080_25 - ThreadSanitizer:Race - fun:sigslot::has_slots::~has_slots - fun:OwnerThread::~OwnerThread - fun:OwnerThread::~OwnerThread - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2080_27 - ThreadSanitizer:Race - ... - fun:std::_Rb_tree::clear - fun:std::_Rb_tree::_M_erase_aux - fun:std::_Rb_tree::erase - fun:std::set::erase - fun:sigslot::has_slots::disconnect_all - fun:sigslot::has_slots::~has_slots - fun:OwnerThread::~OwnerThread - fun:OwnerThread::~OwnerThread - fun:rtc::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2080_29 - ThreadSanitizer:Race - fun:rtc::Thread::Release - fun:ThreadTest_Release_Test::TestBody - ... -} -{ - bug_2080_30 - ThreadSanitizer:Race - fun:rtc::Thread::Invoke - fun:MessageQueueTest::IsLocked - fun:DeletedLockChecker::~DeletedLockChecker - ... -} -{ - bug_2080_31 - ThreadSanitizer:Race - fun:rtc::MessageHandler::~MessageHandler - fun:rtc::Thread::FunctorMessageHandler::~FunctorMessageHandler - ... -} -{ - bug_2080_32 - ThreadSanitizer:Race - fun:rtc::ReadTask::OnMessage - fun:rtc::MessageQueue::Dispatch - ... -} -{ - bug_2080_33 - ThreadSanitizer:Race - fun:rtc::SharedExclusiveLockTest_TestSharedShared_Test::TestBody - fun:testing::internal::HandleSehExceptionsInMethodIfSupported -} -{ - bug_2080_34 - ThreadSanitizer:Race - fun:rtc::WriteTask::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2080_35 - ThreadSanitizer:UnlockNonLocked - fun:pthread_mutex_unlock - fun:rtc::CriticalSection::Leave - fun:rtc::CritScope::~CritScope - ... - fun:rtc::AsyncFunctorMessageHandler::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2080_36 - ThreadSanitizer:Race - ... - fun:rtc::FunctorMessageHandler::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2931_1 - ThreadSanitizer:Race - ... - fun:rtc::FireAndForgetAsyncClosure::Execute - fun:rtc::AsyncInvoker::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:rtc::Thread::Run - fun:rtc::Thread::PreRun -} -{ - bug_2931_2 - ThreadSanitizer:Race - ... - fun:rtc::Callback0::HelperImpl::~HelperImpl - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::Release - fun:rtc::scoped_refptr::~scoped_refptr - fun:rtc::Callback0::~Callback0 - fun:rtc::FireAndForgetAsyncClosure::~FireAndForgetAsyncClosure - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::~RefCountedObject - fun:rtc::RefCountedObject::Release - fun:rtc::scoped_refptr::~scoped_refptr - fun:rtc::AsyncInvoker::OnMessage - fun:rtc::MessageQueue::Dispatch - fun:rtc::Thread::ProcessMessages - fun:AsyncInvokeTest_WithCallback_Test::TestBody - ... -} -{ - bug_300 - ThreadSanitizer:Race - fun:webrtc::TraceImpl::SetTraceCallbackImpl - fun:webrtc::Trace::SetTraceCallback - ... -} - -# Known bugs we don't care about / problems in third parties -{ - bug_884 (Wider timezone filter than Chromium's suppressions) - ThreadSanitizer:Race - ... - fun:__tz* -} -{ - Don't care about issues in trace functions - ThreadSanitizer:Race - ... - fun:webrtc::Trace::Add - ... -} -{ - More not caring about issues in trace functions - ThreadSanitizer:Race - ... - fun:webrtc::Trace::set_level_filter - ... -} -{ - Trace related 1 - ThreadSanitizer:Race - fun:webrtc::TraceImpl::WriteToFile - fun:webrtc::TraceImpl::Process - fun:webrtc::TraceImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - Trace related 2 - ThreadSanitizer:Race - fun:cricket::WebRtcVideoEngine::~WebRtcVideoEngine - fun:VideoEngineOverride::~VideoEngineOverride - ... -} -{ - Test posix socket HasIncoming - ThreadSanitizer:Race - fun:webrtc::test::UdpSocketPosix::HasIncoming - fun:webrtc::test::UdpSocketManagerPosixImpl::Process - fun:webrtc::test::UdpSocketManagerPosixImpl::Run - fun:webrtc::ThreadPosix::Run - fun:webrtc::StartThread -} -{ - bug_2497 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::RecycleFramesUntilKeyFrame - ... -} -{ - bug_2497_2 - ThreadSanitizer:Race - fun:webrtc::VideoEngine::SetTraceFilter - ... -} -{ - Benign TRACE_EVENT race (webrtc:3409) - ThreadSanitizer:Race - fun:webrtc::RTCPReceiver::HandleSenderReceiverReport - fun:webrtc::RTCPReceiver::IncomingRTCPPacket - ... -} - -#----------------------------------------------------------------------- -# 2. libjingle stuff (talk folder) - -{ - bug_1205_5 - ThreadSanitizer:Race - fun:webrtc::RTPReceiver::ProcessBitrate - fun:webrtc::ModuleRtpRtcpImpl::Process - fun:webrtc::ProcessThreadImpl::Process - fun:webrtc::ProcessThreadImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_7 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::RecycleFramesUntilKeyFrame - fun:webrtc::VCMJitterBuffer::GetNackList - fun:webrtc::VCMReceiver::NackList - fun:webrtc::VideoCodingModuleImpl::NackList - fun:webrtc::VideoCodingModuleImpl::Process - fun:webrtc::ProcessThreadImpl::Process - fun:webrtc::ProcessThreadImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_8 - ThreadSanitizer:Race - fun:webrtc::VideoCodingModuleImpl::Process - fun:webrtc::ProcessThreadImpl::Process - fun:webrtc::ProcessThreadImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_9 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::IncomingRateStatistics - fun:webrtc::VCMReceiver::ReceiveStatistics - fun:webrtc::VideoCodingModuleImpl::Process - fun:webrtc::ProcessThreadImpl::Process - fun:webrtc::ProcessThreadImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_10 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::NextMaybeIncompleteTimestamp - fun:webrtc::VCMReceiver::FrameForDecoding - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_11 - ThreadSanitizer:Race - fun:webrtc::EventPosix::StartTimer - fun:webrtc::IncomingVideoStream::IncomingVideoStreamProcess - fun:webrtc::IncomingVideoStream::IncomingVideoStreamThreadFun - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_22 - ThreadSanitizer:Race - fun:webrtc::EventPosix::Process - fun:webrtc::EventPosix::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_26 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::CleanUpOldOrEmptyFrames - fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp - fun:webrtc::VCMReceiver::FrameForDecoding - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_27 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp - fun:webrtc::VCMReceiver::FrameForDecoding - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_28 - ThreadSanitizer:Race - fun:webrtc::VCMReceiver::FrameForDecoding - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_29 - ThreadSanitizer:Race - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_30 - ThreadSanitizer:Race - fun:webrtc::FrameList::CleanUpOldOrEmptyFrames - fun:webrtc::VCMJitterBuffer::CleanUpOldOrEmptyFrames - fun:webrtc::VCMJitterBuffer::NextCompleteTimestamp - fun:webrtc::VCMReceiver::FrameForDecoding - fun:webrtc::VideoCodingModuleImpl::Decode - fun:webrtc::ViEChannel::ChannelDecodeProcess - fun:webrtc::ViEChannel::ChannelDecodeThreadFunction - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_1205_31 - ThreadSanitizer:Race - fun:webrtc::RTPSenderVideo::ProcessBitrate - fun:webrtc::RTPSender::ProcessBitrate - fun:webrtc::ModuleRtpRtcpImpl::Process - ... -} -{ - bug_1205_33_tmp - ThreadSanitizer:Race - fun:webrtc::PeerConnectionProxy::~PeerConnectionProxy - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::Release - fun:talk_base::scoped_refptr::~scoped_refptr - ... -} -{ - bug_1205_34_tmp - ThreadSanitizer:Race - fun:talk_base::AtomicOps::Increment - fun:talk_base::RefCountedObject::AddRef - fun:talk_base::scoped_refptr::scoped_refptr - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - ... -} -{ - bug_1205_35_tmp - ThreadSanitizer:Race - fun:talk_base::scoped_refptr::scoped_refptr - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - fun:webrtc::PeerConnectionFactory::CreatePeerConnection - ... -} -{ - bug_1205_36_tmp - ThreadSanitizer:Race - fun:talk_base::MessageHandler::~MessageHandler - fun:FakeAudioCaptureModule::~FakeAudioCaptureModule - ... -} -{ - bug_1205_37 - ThreadSanitizer:Race - fun:webrtc::Bitrate::Process - fun:webrtc::RTPSenderVideo::ProcessBitrate - fun:webrtc::RTPSender::ProcessBitrate - fun:webrtc::ModuleRtpRtcpImpl::Process - ... -} -{ - bug_1205_38 - ThreadSanitizer:Race - fun:webrtc::VideoCodingModuleImpl::RegisterPacketRequestCallback - fun:webrtc::ViEChannel::ProcessNACKRequest - fun:webrtc::ViEChannel::SetNACKStatus - fun:webrtc::ViERTP_RTCPImpl::SetNACKStatus - fun:cricket::WebRtcVideoMediaChannel::SetNackFec - ... -} -{ - bug_1205_39_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Send - fun:FakeAudioCaptureModule::UpdateProcessing - fun:FakeAudioCaptureModule::StopRecording - fun:webrtc::VoEBaseImpl::StopSend - fun:webrtc::VoEBaseImpl::DeleteChannel - fun:cricket::WebRtcVoiceMediaChannel::~WebRtcVoiceMediaChannel - ... -} -{ - bug_1205_40 - ThreadSanitizer:Race - fun:cricket::WebRtcVideoEngine::Print - ... -} -{ - bug_1205_41_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Send - fun:FakeAudioCaptureModule::~FakeAudioCaptureModule - ... -} -{ - bug_1205_42 - ThreadSanitizer:Race - fun:webrtc::Bitrate::Process - fun:webrtc::RTPSender::ProcessBitrate - ... -} -{ - bug_1205_44 - ThreadSanitizer:Race - fun:webrtc::VCMJitterBuffer::DecodeErrorMode - fun:webrtc::VCMReceiver::SetDecodeErrorMode - fun:webrtc::VideoCodingModuleImpl::SetVideoProtection - fun:webrtc::ViEChannel::SetHybridNACKFECStatus - fun:webrtc::ViERTP_RTCPImpl::SetHybridNACKFECStatus - ... -} -{ - bug_1205_48 - ThreadSanitizer:Race - fun:webrtc::Bitrate::BitrateLast - ... -} -{ - bug_2078_2_tmp - ThreadSanitizer:Race - ... - fun:talk_base::MemoryStreamBase::Read - ... - fun:cricket::RtpDumpReader::ReadPacket - ... -} -{ - bug_2078_3_tmp - ThreadSanitizer:Race - fun:cricket::RtpSenderReceiver::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2078_4_tmp - ThreadSanitizer:Race - fun:cricket::FileNetworkInterface::SendPacket - fun:cricket::RtpSenderReceiver::SendRtpPacket - fun:cricket::RtpSenderReceiver::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2078_5 - ThreadSanitizer:Race - fun:cricket::RtpSenderReceiver::SetSend - fun:cricket::FileVoiceChannel::SetSend - ... -} -{ - bug_2078_6 - ThreadSanitizer:Race - fun:cricket::MediaChannel::NetworkInterface::~NetworkInterface - fun:cricket::FileNetworkInterface::~FileNetworkInterface - ... -} -{ - bug_2078_7_tmp - ThreadSanitizer:Race - fun:talk_base::MemoryStreamBase::~MemoryStreamBase - fun:talk_base::MemoryStream::~MemoryStream - ... -} -{ - bug_2078_8_tmp - ThreadSanitizer:Race - fun:talk_base::MemoryStreamBase::SetPosition - fun:talk_base::StreamInterface::Rewind - fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream - ... -} -{ - bug_2078_13_tmp - ThreadSanitizer:Race - fun:std::_Vector_base::~_Vector_base - fun:std::vector::~vector - fun:cricket::RtpDumpPacket::~RtpDumpPacket - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_14_tmp - ThreadSanitizer:Race - fun:cricket::RtpDumpReader::~RtpDumpReader - fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader - fun:cricket::RtpDumpLoopReader::~RtpDumpLoopReader - fun:talk_base::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_15_tmp - ThreadSanitizer:Race - fun:talk_base::FileStream::Close - fun:talk_base::FileStream::~FileStream - fun:talk_base::FileStream::~FileStream - fun:talk_base::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_16_tmp - ThreadSanitizer:Race - fun:talk_base::StreamInterface::~StreamInterface - fun:talk_base::FileStream::~FileStream - fun:talk_base::FileStream::~FileStream - fun:talk_base::scoped_ptr::~scoped_ptr - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:cricket::RtpSenderReceiver::~RtpSenderReceiver - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2078_18_tmp - ThreadSanitizer:Race - fun:talk_base::MemoryStream::~MemoryStream - ... -} -{ - bug_2078_21 - ThreadSanitizer:Race - fun:::FileVideoCapturerTest::VideoCapturerListener::frame_count - ... -} -{ - bug_2078_22_tmp - ThreadSanitizer:Race - fun:talk_base::MessageQueue::Quit - fun:talk_base::Thread::Stop - ... -} -{ - bug_2078_23_tmp - ThreadSanitizer:Race - fun:::FileVideoCapturerTest::VideoCapturerListener::OnFrameCaptured - fun:sigslot::_connection2::emit - ... - fun:cricket::FileVideoCapturer::ReadFrame - fun:cricket::FileVideoCapturer::FileReadThread::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:cricket::FileVideoCapturer::FileReadThread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2078_24_tmp - ThreadSanitizer:Race - fun:talk_base::MemoryStreamBase::SetPosition - fun:talk_base::StreamInterface::Rewind - ... -} -{ - bug_2078_25_tmp - ThreadSanitizer:Race - fun:cricket::FileNetworkInterface::SendPacket - fun:cricket::MediaChannel::DoSendPacket - fun:cricket::MediaChannel::SendPacket - fun:cricket::RtpSenderReceiver::SendRtpPacket - fun:cricket::RtpSenderReceiver::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2079_1_tmp - ThreadSanitizer:Race - fun:talk_base::VirtualSocketServer::AddPacketToNetwork - fun:talk_base::VirtualSocketServer::SendUdp - fun:talk_base::VirtualSocket::SendUdp - fun:talk_base::VirtualSocket::SendTo - fun:talk_base::AsyncUDPSocket::SendTo - fun:cricket::StunServer::SendResponse - fun:cricket::StunServer::OnBindingRequest - fun:cricket::StunServer::OnPacket - fun:sigslot::_connection4::emit - ... -} -{ - bug_2079_3 - ThreadSanitizer:Race - fun:ChannelTest::SendRtpToRtpOnThread - ... -} -{ - bug_2079_5_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Send - fun:cricket::Transport::SetRole - fun:cricket::BaseSession::GetOrCreateTransportProxy - fun:cricket::BaseSession::CreateChannel - fun:cricket::FakeSession::CreateChannel - fun:cricket::VoiceChannel::Init - fun:cricket::ChannelManager::CreateVoiceChannel_w - ... -} -{ - bug_2079_6_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::ReceiveSends - fun:talk_base::Thread::Send - fun:talk_base::Thread::Invoke - ... -} -{ - bug_2079_7 - ThreadSanitizer:Race - fun:ChannelTest::SendSrtpToSrtpOnThread - ... -} -{ - bug_2079_8_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Invoke - fun:cricket::ChannelManager::SetCaptureDevice - ... -} -{ - bug_2079_9_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Send - fun:cricket::Transport::SetIceRole - fun:cricket::BaseSession::GetOrCreateTransportProxy - fun:cricket::BaseSession::CreateChannel - fun:cricket::FakeSession::CreateChannel - fun:cricket::VoiceChannel::Init - fun:cricket::ChannelManager::CreateVoiceChannel_w - ... -} -{ - bug_2080_1_tmp - ThreadSanitizer:Race - fun:talk_base::MessageQueue::Quit - fun:talk_base::SignalThread::Destroy - ... -} -{ - bug_2080_2_tmp - ThreadSanitizer:Race - fun:talk_base::MessageQueue::Quit - fun:talk_base::AsyncHttpRequest::OnComplete - fun:sigslot::_connection2::emit - ... -} -{ - bug_2080_3_tmp - ThreadSanitizer:Race - fun:talk_base::LogMessage::UpdateMinLogSeverity - fun:talk_base::LogMessage::AddLogToStream - ... -} -{ - bug_2080_8_tmp - ThreadSanitizer:Race - ... - fun:talk_base::AsyncUDPSocket::OnReadEvent - fun:sigslot::_connection1::emit - ... -} -{ - bug_2080_9_tmp - ThreadSanitizer:Race - ... - fun:talk_base::AsyncUDPSocket::OnWriteEvent - fun:sigslot::_connection1::emit - ... -} -{ - bug_2080_10 - ThreadSanitizer:Race - fun:sigslot::_connection4::emit - ... -} -{ - bug_2080_14_tmp - ThreadSanitizer:Race - fun:talk_base::IPAddress::IPAddress - fun:talk_base::SocketAddress::ToSockAddrStorage - fun:talk_base::PhysicalSocket::SendTo - fun:talk_base::AsyncUDPSocket::SendTo - fun:talk_base::NATServer::OnExternalPacket - ... -} -{ - bug_2080_16_tmp - ThreadSanitizer:Race - ... - fun:talk_base::IPAddress::operator< - ... -} -{ - bug_2080_18_tmp - ThreadSanitizer:Race - fun:talk_base::SocketAddress::port - ... -} -{ - bug_2080_19_tmp - ThreadSanitizer:Race - fun:std::vector::_M_insert_aux - fun:std::vector::push_back - fun:talk_base::TestClient::OnPacket - ... -} -{ - bug_2080_20_tmp - ThreadSanitizer:Race - fun:talk_base::VirtualSocketServer::AddPacketToNetwork - fun:talk_base::VirtualSocketServer::SendUdp - fun:talk_base::VirtualSocket::SendUdp - fun:talk_base::VirtualSocket::SendTo - fun:talk_base::AsyncUDPSocket::SendTo - fun:talk_base::TestClient::SendTo - ... -} -{ - bug_2080_21_tmp - ThreadSanitizer:Race - fun:talk_base::SharedExclusiveTask::waiting_time_in_ms - ... -} -{ - bug_2080_22_tmp - ThreadSanitizer:Race - fun:talk_base::SharedExclusiveTask::~SharedExclusiveTask - fun:talk_base::ReadTask::~ReadTask - ... -} -{ - bug_2080_23 - ThreadSanitizer:Race - fun:testing::internal::CmpHelperEQ - fun:testing::internal::EqHelper::Compare - ... -} -{ - bug_2080_24_tmp - ThreadSanitizer:Race - ... - fun:OwnerThread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2080_25_tmp - ThreadSanitizer:Race - fun:sigslot::has_slots::~has_slots - fun:OwnerThread::~OwnerThread - fun:OwnerThread::~OwnerThread - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2080_26 - ThreadSanitizer:Race - fun:std::_Rb_tree::begin - fun:std::set::begin - fun:sigslot::has_slots::disconnect_all - fun:sigslot::has_slots::~has_slots - ... -} -{ - bug_2080_27_tmp - ThreadSanitizer:Race - ... - fun:std::_Rb_tree::clear - fun:std::_Rb_tree::_M_erase_aux - fun:std::_Rb_tree::erase - fun:std::set::erase - fun:sigslot::has_slots::disconnect_all - fun:sigslot::has_slots::~has_slots - fun:OwnerThread::~OwnerThread - fun:OwnerThread::~OwnerThread - fun:talk_base::scoped_ptr::~scoped_ptr - ... -} -{ - bug_2080_29_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Release - fun:ThreadTest_Release_Test::TestBody - ... -} -{ - bug_2080_30_tmp - ThreadSanitizer:Race - fun:talk_base::Thread::Invoke - fun:MessageQueueTest::IsLocked - fun:DeletedLockChecker::~DeletedLockChecker - ... -} -{ - bug_2080_31_tmp - ThreadSanitizer:Race - fun:talk_base::MessageHandler::~MessageHandler - fun:talk_base::Thread::FunctorMessageHandler::~FunctorMessageHandler - ... -} -{ - bug_2080_32_tmp - ThreadSanitizer:Race - fun:talk_base::ReadTask::OnMessage - fun:talk_base::MessageQueue::Dispatch - ... -} -{ - bug_2080_33_tmp - ThreadSanitizer:Race - fun:talk_base::SharedExclusiveLockTest_TestSharedShared_Test::TestBody - fun:testing::internal::HandleSehExceptionsInMethodIfSupported -} -{ - bug_2080_34_tmp - ThreadSanitizer:Race - fun:talk_base::WriteTask::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2080_35_tmp - ThreadSanitizer:UnlockNonLocked - fun:pthread_mutex_unlock - fun:talk_base::CriticalSection::Leave - fun:talk_base::CritScope::~CritScope - ... - fun:talk_base::AsyncFunctorMessageHandler::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2080_36_tmp - ThreadSanitizer:Race - ... - fun:talk_base::FunctorMessageHandler::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2931_1_tmp - ThreadSanitizer:Race - ... - fun:talk_base::FireAndForgetAsyncClosure::Execute - fun:talk_base::AsyncInvoker::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:talk_base::Thread::Run - fun:talk_base::Thread::PreRun -} -{ - bug_2931_2_tmp - ThreadSanitizer:Race - ... - fun:talk_base::Callback0::HelperImpl::~HelperImpl - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::Release - fun:talk_base::scoped_refptr::~scoped_refptr - fun:talk_base::Callback0::~Callback0 - fun:talk_base::FireAndForgetAsyncClosure::~FireAndForgetAsyncClosure - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::~RefCountedObject - fun:talk_base::RefCountedObject::Release - fun:talk_base::scoped_refptr::~scoped_refptr - fun:talk_base::AsyncInvoker::OnMessage - fun:talk_base::MessageQueue::Dispatch - fun:talk_base::Thread::ProcessMessages - fun:AsyncInvokeTest_WithCallback_Test::TestBody - ... -} -{ - bug_3372_1 - ThreadSanitizer:Race - fun:talk_base::LogMessage::Loggable - fun:cricket::WebRtcVideoEngine::Print - fun:webrtc::TraceImpl::WriteToFile - fun:webrtc::TraceImpl::Process - fun:webrtc::TraceImpl::Run - fun:webrtc::ThreadPosix::Run - fun:StartThread -} -{ - bug_3372_2 - ThreadSanitizer:Race - fun:std::string::find - fun:WebRtcVideoEngineTest_WebRtcShouldNotLog_Test::TestBody - fun:testing::internal::HandleSehExceptionsInMethodIfSupported -} diff --git a/tools/valgrind-webrtc/tsan/suppressions_mac.txt b/tools/valgrind-webrtc/tsan/suppressions_mac.txt deleted file mode 100644 index ec20df46d8..0000000000 --- a/tools/valgrind-webrtc/tsan/suppressions_mac.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -# This file is used in addition to the one already maintained in Chrome. -# It acts as a place holder for future additions for WebRTC. -# It must exist for the Python wrapper script to work properly. diff --git a/tools/valgrind-webrtc/tsan/suppressions_win32.txt b/tools/valgrind-webrtc/tsan/suppressions_win32.txt deleted file mode 100644 index defe2cf493..0000000000 --- a/tools/valgrind-webrtc/tsan/suppressions_win32.txt +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -# This file is used in addition to the one already maintained in Chrome. -# It acts as a place holder for future additions for WebRTC. -# It must exist for the Python wrapper script to work properly. - -{ - bug_2319_1 - ThreadSanitizer:Race - ... - fun:webrtc::ThreadWindows::Run - fun:webrtc::ThreadWindows::StartThread - ... - fun:BaseThreadInitThunk -} -{ - bug_2319_2 - ThreadSanitizer:Race - fun:TlsGetValue - fun:__set_flsgetvalue - fun:_threadstartex - fun:BaseThreadInitThunk -} -{ - bug_2319_3 - ThreadSanitizer:Race - fun:webrtc::ThreadWindows::SetNotAlive - ... -} -{ - bug_2319_4 - ThreadSanitizer:Race - fun:webrtc::ThreadWindows::Start - ... -} -{ - bug_2319_5 - ThreadSanitizer:Race - fun:webrtc::ThreadWindows::Stop - ... -} - diff --git a/tools/valgrind-webrtc/webrtc_tests.bat b/tools/valgrind-webrtc/webrtc_tests.bat index 3d597a082b..c52f3aec83 100644 --- a/tools/valgrind-webrtc/webrtc_tests.bat +++ b/tools/valgrind-webrtc/webrtc_tests.bat @@ -25,7 +25,8 @@ set TOOL_NAME="unknown" goto :PARSE_ARGS_LOOP :TOOLNAME_NOT_FOUND -echo "Please specify a tool (tsan or drmemory) by using --tool flag" +echo "Please specify a tool (drmemory, drmemory_light or drmemory_full)" +echo "by using --tool flag" exit /B 1 :TOOLNAME_FOUND @@ -36,8 +37,7 @@ if "%TOOL_NAME%" == "drmemory" GOTO :SETUP_DRMEMORY if "%TOOL_NAME%" == "drmemory_light" GOTO :SETUP_DRMEMORY if "%TOOL_NAME%" == "drmemory_full" GOTO :SETUP_DRMEMORY if "%TOOL_NAME%" == "drmemory_pattern" GOTO :SETUP_DRMEMORY -if "%TOOL_NAME%" == "tsan" GOTO :SETUP_TSAN -echo "Unknown tool: `%TOOL_NAME%`! Only tsan and drmemory are supported." +echo "Unknown tool: `%TOOL_NAME%`! Only drmemory* tools are supported." exit /B 1 :SETUP_DRMEMORY @@ -57,22 +57,6 @@ set DRMEMORY_COMMAND=%DRMEMORY_PATH%\unpacked\bin\drmemory.exe :: }}} goto :RUN_TESTS -:SETUP_TSAN -:: Set up PIN_COMMAND to invoke TSan {{{1 -set TSAN_PATH=%THISDIR%..\..\third_party\tsan -set TSAN_SFX=%TSAN_PATH%\tsan-x86-windows-sfx.exe -if EXIST %TSAN_SFX% GOTO TSAN_BINARY_OK -echo "Can't find ThreadSanitizer executables." -echo "See http://www.chromium.org/developers/how-tos/using-valgrind/threadsanitizer/threadsanitizer-on-windows" -echo "for the instructions on how to get them." -exit /B 1 - -:TSAN_BINARY_OK -%TSAN_SFX% -o%TSAN_PATH%\unpacked -y -set PIN_COMMAND=%TSAN_PATH%\unpacked\tsan-x86-windows\tsan.bat -:: }}} -goto :RUN_TESTS - :RUN_TESTS set PYTHONPATH=%THISDIR%..\python\google;%THISDIR%..\valgrind set RUNNING_ON_VALGRIND=yes diff --git a/tools/valgrind-webrtc/webrtc_tests.py b/tools/valgrind-webrtc/webrtc_tests.py index d5a79eb27e..b8b398bd04 100755 --- a/tools/valgrind-webrtc/webrtc_tests.py +++ b/tools/valgrind-webrtc/webrtc_tests.py @@ -18,9 +18,6 @@ The Chrome valgrind directory we use as a DEPS dependency contains the following suppression files: valgrind/memcheck/suppressions.txt valgrind/memcheck/suppressions_mac.txt - valgrind/tsan/suppressions.txt - valgrind/tsan/suppressions_mac.txt - valgrind/tsan/suppressions_win32.txt Since they're referenced from the chrome_tests.py script, we have similar files below the directory of this script. When executing, this script will setup both Chrome's suppression files and our own, so we can easily maintain WebRTC @@ -65,7 +62,7 @@ class WebRTCTest(chrome_tests.ChromeTests): cmd) # When ChromeTests._DefaultCommand has executed, it has setup suppression - # files based on what's found in the memcheck/ or tsan/ subdirectories of + # files based on what's found in the memcheck/ subdirectory of # this script's location. If Mac or Windows is executing, additional # platform specific files have also been added. # Since only the ones located below this directory are added, we must also diff --git a/tools/valgrind-webrtc/webrtc_tests.sh b/tools/valgrind-webrtc/webrtc_tests.sh index 40c17123a6..3ed2562463 100755 --- a/tools/valgrind-webrtc/webrtc_tests.sh +++ b/tools/valgrind-webrtc/webrtc_tests.sh @@ -21,11 +21,10 @@ export THISDIR=`dirname $0` ARGV_COPY="$@" -# We need to set CHROME_VALGRIND iff using Memcheck or TSan-Valgrind: +# We need to set CHROME_VALGRIND iff using Memcheck: # tools/valgrind-webrtc/webrtc_tests.sh --tool memcheck # or # tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck -# (same for "--tool=tsan") tool="memcheck" # Default to memcheck. while (( "$#" )) do @@ -47,14 +46,6 @@ case "$tool" in "memcheck") NEEDS_VALGRIND=1 ;; - "tsan" | "tsan_rv") - if [ "`uname -s`" == CYGWIN* ] - then - NEEDS_PIN=1 - else - NEEDS_VALGRIND=1 - fi - ;; "drmemory" | "drmemory_light" | "drmemory_full" | "drmemory_pattern") NEEDS_DRMEMORY=1 ;; @@ -111,28 +102,6 @@ then fi fi -if [ "$NEEDS_PIN" == "1" ] -then - if [ -z "$PIN_COMMAND" ] - then - # Set up PIN_COMMAND to invoke TSan. - TSAN_PATH="$THISDIR/../../third_party/tsan" - TSAN_SFX="$TSAN_PATH/tsan-x86-windows-sfx.exe" - echo "$TSAN_SFX" - if [ ! -f $TSAN_SFX ] - then - echo "Can't find ThreadSanitizer executables." - echo "See http://www.chromium.org/developers/how-tos/using-valgrind/threadsanitizer/threadsanitizer-on-windows" - echo "for the instructions on how to get them." - exit 1 - fi - - chmod +x "$TSAN_SFX" # Cygwin won't run it without +x. - "$TSAN_SFX" -o"$TSAN_PATH"/unpacked -y - export PIN_COMMAND="$TSAN_PATH/unpacked/tsan-x86-windows/tsan.bat" - fi -fi - # Add Chrome's Valgrind scripts dir to the PYTHON_PATH since it contains # the scripts that are needed for this script to run PYTHONPATH=$THISDIR/../python/google:$CHROME_VALGRIND_SCRIPTS python \