<commit_before># 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_300
  ThreadSanitizer:Race
  fun:webrtc::TraceImpl::SetTraceCallbackImpl
  fun:webrtc::Trace::SetTraceCallback
  ...
}
{
  BUG_2349
  ThreadSanitizer:Race
  fun:webrtc::RTPSender::SendToNetwork
  fun:webrtc::RTPSenderVideo::SendVideoPacket
  fun:webrtc::RTPSenderVideo::SendVP8
  fun:webrtc::RTPSenderVideo::SendVideo
  fun:webrtc::RTPSender::SendOutgoingData
  fun:webrtc::ModuleRtpRtcpImpl::SendOutgoingData
  fun:webrtc::ModuleRtpRtcpImpl::SendOutgoingData
  fun:webrtc::ViEEncoder::SendData
  fun:webrtc::VCMEncodedFrameCallback::Encoded
  fun:webrtc::test::FakeEncoder::Encode
  fun:webrtc::VCMGenericEncoder::Encode
  fun:webrtc::VideoCodingModuleImpl::AddVideoFrame
  fun:webrtc::ViEEncoder::DeliverFrame
  fun:webrtc::ViEFrameProviderBase::DeliverFrame
  fun:webrtc::ViECapturer::DeliverI420Frame
  fun:webrtc::ViECapturer::ViECaptureProcess
  fun:webrtc::ViECapturer::ViECaptureThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}

# 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
  ...
}
{
  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
}

#-----------------------------------------------------------------------
# 2. libjingle stuff (talk folder)

{
  bug_1205_1
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::PlayoutWarning
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_2
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::PlayoutError
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_3
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::RecordingWarning
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_4
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::RecordingError
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  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_6
  ThreadSanitizer:Race
  fun:std::__detail::_List_node_base::_M_hook
  fun:std::list::_M_insert
  fun:std::list::push_back
  fun:webrtc::ModuleRtpRtcpImpl::RegisterChildModule
  fun:webrtc::ModuleRtpRtcpImpl::ModuleRtpRtcpImpl
  fun:webrtc::RtpRtcp::CreateRtpRtcp
  ...
}
{
  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_12
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::GetAudioFrame
  fun:webrtc::AudioConferenceMixerImpl::UpdateToMix
  fun:webrtc::AudioConferenceMixerImpl::Process
  fun:webrtc::voe::OutputMixer::MixActiveChannels
  fun:webrtc::VoEBaseImpl::NeedMorePlayData
  ...
}
{
  bug_1205_13
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_1205_14
  ThreadSanitizer:Race
  fun:cricket::BaseChannel::~BaseChannel
  fun:cricket::VoiceChannel::~VoiceChannel
  fun:cricket::VoiceChannel::~VoiceChannel
  fun:cricket::ChannelManager::DestroyVoiceChannel_w
  ...
}
{
  bug_1205_15
  ThreadSanitizer:Race
  fun:cricket::BaseChannel::~BaseChannel
  fun:cricket::VideoChannel::~VideoChannel
  fun:cricket::VideoChannel::~VideoChannel
  fun:cricket::ChannelManager::DestroyVideoChannel_w
  ...
}
{
  bug_1205_16
  ThreadSanitizer:Race
  fun:std::__detail::_List_node_base::_M_unhook
  fun:std::list::_M_erase
  fun:std::list::erase
  fun:webrtc::ModuleRtpRtcpImpl::DeRegisterChildModule
  fun:webrtc::ModuleRtpRtcpImpl::~ModuleRtpRtcpImpl
  fun:webrtc::ModuleRtpRtcpImpl::~ModuleRtpRtcpImpl
  ...
}
{
  bug_1205_18
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::SetChannelOutputVolumeScaling
  fun:webrtc::VoEVolumeControlImpl::SetChannelOutputVolumeScaling
  fun:cricket::WebRtcVoiceMediaChannel::SetOutputScaling
  fun:cricket::VoiceChannel::SetOutputScaling_w
  fun:cricket::VoiceChannel::OnMessage
  ...
}
{
  bug_1205_19
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::SetOutputVolumePan
  fun:webrtc::VoEVolumeControlImpl::SetOutputVolumePan
  fun:cricket::WebRtcVoiceMediaChannel::SetOutputScaling
  fun:cricket::VoiceChannel::SetOutputScaling_w
  fun:cricket::VoiceChannel::OnMessage
  ...
}
{
  bug_1205_20
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::IncomingRate
  fun:webrtc::ViEChannel::ReceiveStatistics
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_21
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_1205_22
  ThreadSanitizer:Race
  fun:webrtc::EventPosix::Process
  fun:webrtc::EventPosix::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_23
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::framerate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_24
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::bitrate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_25
  ThreadSanitizer:Race
  fun:webrtc::AudioCodingModuleImpl::PlayoutData10Ms
  fun:webrtc::voe::Channel::GetAudioFrame
  fun:webrtc::AudioConferenceMixerImpl::UpdateToMix
  fun:webrtc::AudioConferenceMixerImpl::Process
  fun:webrtc::voe::OutputMixer::MixActiveChannels
  fun:webrtc::VoEBaseImpl::NeedMorePlayData
  fun:FakeAudioCaptureModule::ReceiveFrameP
  fun:FakeAudioCaptureModule::ProcessFrameP
  fun:FakeAudioCaptureModule::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  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_32
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::OutgoingRate
  fun:webrtc::ViEEncoder::SendStatistics
  fun:webrtc::VideoCodingModuleImpl::Process
  ...
}
{
  bug_1205_33
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_36
  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
  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
  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_43
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopPlayout
  ...
}
{
  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_45
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::framerate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_46
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopRecording
  fun:webrtc::VoEBaseImpl::StopSend
  ...
}
{
  bug_1205_47
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::IncomingRate
  fun:webrtc::ViEChannel::OnReceiveStatisticsUpdate
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_48
  ThreadSanitizer:Race
  fun:webrtc::Bitrate::BitrateLast
  ...
}
{
  bug_2078_1
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_2
  ThreadSanitizer:Race
  ...
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_3
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::~MemoryStreamBase
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_8
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::StreamInterface::Rewind
  fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream
  ...
}
{
  bug_2078_9
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_10
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_11
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadAll
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_12
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadAll
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  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:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_14
  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
  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
  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_17
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_18
  ThreadSanitizer:Race
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_19
  ThreadSanitizer:Race
  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_20
  ThreadSanitizer:Race
  fun:cricket::FileVideoCapturer::FileReadThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2078_21
  ThreadSanitizer:Race
  fun:::FileVideoCapturerTest::VideoCapturerListener::frame_count
  fun:::FileVideoCapturerTest_TestNoRepeat_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2078_22
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::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: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
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::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:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2079_1
  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_2
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:talk_base::TestClient::OnPacket
  ...
}
{
  bug_2079_3
  ThreadSanitizer:Race
  fun:ChannelTest::SendRtpToRtpOnThread
  ...
}
{
  bug_2079_4
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2079_5
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:cricket::ChannelManager::SetCaptureDevice
  ...
}
{
  bug_2079_9
  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
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::SignalThread::Destroy
  ...
}
{
  bug_2080_2
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::AsyncHttpRequest::OnComplete
  fun:sigslot::_connection2::emit
  ...
}
{
  bug_2080_3
  ThreadSanitizer:Race
  fun:talk_base::LogMessage::UpdateMinLogSeverity
  fun:talk_base::LogMessage::AddLogToStream
  ...
}
{
  bug_2080_4
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:talk_base::LogThread::~LogThread
  ...
}
{
  bug_2080_5
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_6
  ThreadSanitizer:Race
  ...
  fun:talk_base::SocketDispatcher::OnEvent
  fun:talk_base::PhysicalSocketServer::Wait
  fun:talk_base::MessageQueue::Get
  ...
}
{
  bug_2080_7
  ThreadSanitizer:Race
  fun:sigslot::_connection1::emit
  ...
  fun:talk_base::SocketDispatcher::OnEvent
  fun:talk_base::PhysicalSocketServer::Wait
  ...
}
{
  bug_2080_8
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnReadEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_9
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnWriteEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_10
  ThreadSanitizer:Race
  fun:sigslot::_connection4::emit
  ...
}
{
  bug_2080_11
  ThreadSanitizer:Race
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_12
  ThreadSanitizer:Race
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_13
  ThreadSanitizer:Race
  fun:std::_Rb_tree::_M_begin
  fun:std::_Rb_tree::find
  fun:std::set::find
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_14
  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_15
  ThreadSanitizer:Race
  fun:talk_base::PhysicalSocket::UpdateLastError
  fun:talk_base::PhysicalSocket::RecvFrom
  fun:talk_base::NATSocket::RecvFrom
  fun:talk_base::AsyncUDPSocket::OnReadEvent
  ...
}
{
  bug_2080_16
  ThreadSanitizer:Race
  ...
  fun:talk_base::IPAddress::operator<
  ...
}
{
  bug_2080_17
  ThreadSanitizer:Race
  ...
  fun:std::_Rb_tree::_M_lower_bound
  fun:std::_Rb_tree::find
  fun:std::set::find
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_18
  ThreadSanitizer:Race
  fun:talk_base::SocketAddress::port
  ...
}
{
  bug_2080_19
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:talk_base::TestClient::OnPacket
  ...
}
{
  bug_2080_20
  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
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveTask::waiting_time_in_ms
  ...
}
{
  bug_2080_22
  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
  ThreadSanitizer:Race
  ...
  fun:OwnerThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_25
  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
  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_28
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:talk_base::scoped_ptr::~scoped_ptr
  fun:SignalThreadTest_OwnerThreadGoesAway_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_29
  ThreadSanitizer:Race
  fun:talk_base::Thread::Release
  fun:ThreadTest_Release_Test::TestBody
  ...
}
{
  bug_2080_30
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:MessageQueueTest::IsLocked
  fun:DeletedLockChecker::~DeletedLockChecker
  ...
}
{
  bug_2080_31
  ThreadSanitizer:Race
  fun:talk_base::MessageHandler::~MessageHandler
  fun:talk_base::Thread::FunctorMessageHandler::~FunctorMessageHandler
  ...
}
{
  bug_2080_32
  ThreadSanitizer:Race
  fun:talk_base::ReadTask::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  ...
}
{
  bug_2080_33
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveLockTest_TestSharedShared_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_34
  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
  ThreadSanitizer:Race
  fun:std::vector::size
  fun:talk_base::TestClient::NextPacket
  fun:talk_base::TestClient::CheckNextPacket
  ...
}
<commit_msg>Suppress RTPSender race regardless of codec.<commit_after># 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_300
  ThreadSanitizer:Race
  fun:webrtc::TraceImpl::SetTraceCallbackImpl
  fun:webrtc::Trace::SetTraceCallback
  ...
}
{
  BUG_2349
  ThreadSanitizer:Race
  fun:webrtc::RTPSender::SendToNetwork
  fun:webrtc::RTPSenderVideo::SendVideoPacket
  ...
  fun:webrtc::RTPSenderVideo::SendVideo
  fun:webrtc::RTPSender::SendOutgoingData
  fun:webrtc::ModuleRtpRtcpImpl::SendOutgoingData
  fun:webrtc::ModuleRtpRtcpImpl::SendOutgoingData
  fun:webrtc::ViEEncoder::SendData
  fun:webrtc::VCMEncodedFrameCallback::Encoded
  fun:webrtc::test::FakeEncoder::Encode
  fun:webrtc::VCMGenericEncoder::Encode
  fun:webrtc::VideoCodingModuleImpl::AddVideoFrame
  fun:webrtc::ViEEncoder::DeliverFrame
  fun:webrtc::ViEFrameProviderBase::DeliverFrame
  fun:webrtc::ViECapturer::DeliverI420Frame
  fun:webrtc::ViECapturer::ViECaptureProcess
  fun:webrtc::ViECapturer::ViECaptureThreadFunction
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}

# 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
  ...
}
{
  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
}

#-----------------------------------------------------------------------
# 2. libjingle stuff (talk folder)

{
  bug_1205_1
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::PlayoutWarning
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_2
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::PlayoutError
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_3
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::RecordingWarning
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_4
  ThreadSanitizer:Race
  fun:webrtc::AudioDeviceLinuxALSA::RecordingError
  fun:webrtc::AudioDeviceModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  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_6
  ThreadSanitizer:Race
  fun:std::__detail::_List_node_base::_M_hook
  fun:std::list::_M_insert
  fun:std::list::push_back
  fun:webrtc::ModuleRtpRtcpImpl::RegisterChildModule
  fun:webrtc::ModuleRtpRtcpImpl::ModuleRtpRtcpImpl
  fun:webrtc::RtpRtcp::CreateRtpRtcp
  ...
}
{
  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_12
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::GetAudioFrame
  fun:webrtc::AudioConferenceMixerImpl::UpdateToMix
  fun:webrtc::AudioConferenceMixerImpl::Process
  fun:webrtc::voe::OutputMixer::MixActiveChannels
  fun:webrtc::VoEBaseImpl::NeedMorePlayData
  ...
}
{
  bug_1205_13
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_1205_14
  ThreadSanitizer:Race
  fun:cricket::BaseChannel::~BaseChannel
  fun:cricket::VoiceChannel::~VoiceChannel
  fun:cricket::VoiceChannel::~VoiceChannel
  fun:cricket::ChannelManager::DestroyVoiceChannel_w
  ...
}
{
  bug_1205_15
  ThreadSanitizer:Race
  fun:cricket::BaseChannel::~BaseChannel
  fun:cricket::VideoChannel::~VideoChannel
  fun:cricket::VideoChannel::~VideoChannel
  fun:cricket::ChannelManager::DestroyVideoChannel_w
  ...
}
{
  bug_1205_16
  ThreadSanitizer:Race
  fun:std::__detail::_List_node_base::_M_unhook
  fun:std::list::_M_erase
  fun:std::list::erase
  fun:webrtc::ModuleRtpRtcpImpl::DeRegisterChildModule
  fun:webrtc::ModuleRtpRtcpImpl::~ModuleRtpRtcpImpl
  fun:webrtc::ModuleRtpRtcpImpl::~ModuleRtpRtcpImpl
  ...
}
{
  bug_1205_18
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::SetChannelOutputVolumeScaling
  fun:webrtc::VoEVolumeControlImpl::SetChannelOutputVolumeScaling
  fun:cricket::WebRtcVoiceMediaChannel::SetOutputScaling
  fun:cricket::VoiceChannel::SetOutputScaling_w
  fun:cricket::VoiceChannel::OnMessage
  ...
}
{
  bug_1205_19
  ThreadSanitizer:Race
  fun:webrtc::voe::Channel::SetOutputVolumePan
  fun:webrtc::VoEVolumeControlImpl::SetOutputVolumePan
  fun:cricket::WebRtcVoiceMediaChannel::SetOutputScaling
  fun:cricket::VoiceChannel::SetOutputScaling_w
  fun:cricket::VoiceChannel::OnMessage
  ...
}
{
  bug_1205_20
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::IncomingRate
  fun:webrtc::ViEChannel::ReceiveStatistics
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_21
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_1205_22
  ThreadSanitizer:Race
  fun:webrtc::EventPosix::Process
  fun:webrtc::EventPosix::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_23
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::framerate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_24
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::bitrate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_25
  ThreadSanitizer:Race
  fun:webrtc::AudioCodingModuleImpl::PlayoutData10Ms
  fun:webrtc::voe::Channel::GetAudioFrame
  fun:webrtc::AudioConferenceMixerImpl::UpdateToMix
  fun:webrtc::AudioConferenceMixerImpl::Process
  fun:webrtc::voe::OutputMixer::MixActiveChannels
  fun:webrtc::VoEBaseImpl::NeedMorePlayData
  fun:FakeAudioCaptureModule::ReceiveFrameP
  fun:FakeAudioCaptureModule::ProcessFrameP
  fun:FakeAudioCaptureModule::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  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_32
  ThreadSanitizer:Race
  fun:cricket::WebRtcEncoderObserver::OutgoingRate
  fun:webrtc::ViEEncoder::SendStatistics
  fun:webrtc::VideoCodingModuleImpl::Process
  ...
}
{
  bug_1205_33
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::scoped_refptr::scoped_refptr
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  fun:webrtc::PeerConnectionFactory::CreatePeerConnection
  ...
}
{
  bug_1205_36
  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
  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
  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_43
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopPlayout
  ...
}
{
  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_45
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::framerate
  fun:cricket::WebRtcVideoMediaChannel::GetStats
  fun:cricket::VideoChannel::GetStats_w
  fun:cricket::VideoChannel::OnMessage
  ...
}
{
  bug_1205_46
  ThreadSanitizer:Race
  fun:talk_base::Thread::Send
  fun:FakeAudioCaptureModule::UpdateProcessing
  fun:FakeAudioCaptureModule::StopRecording
  fun:webrtc::VoEBaseImpl::StopSend
  ...
}
{
  bug_1205_47
  ThreadSanitizer:Race
  fun:cricket::WebRtcDecoderObserver::IncomingRate
  fun:webrtc::ViEChannel::OnReceiveStatisticsUpdate
  fun:webrtc::VideoCodingModuleImpl::Process
  fun:webrtc::ProcessThreadImpl::Process
  fun:webrtc::ProcessThreadImpl::Run
  fun:webrtc::ThreadPosix::Run
  fun:StartThread
}
{
  bug_1205_48
  ThreadSanitizer:Race
  fun:webrtc::Bitrate::BitrateLast
  ...
}
{
  bug_2078_1
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:cricket::RtpSenderReceiver::~RtpSenderReceiver
  fun:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_2
  ThreadSanitizer:Race
  ...
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_3
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::~MemoryStreamBase
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_8
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::StreamInterface::Rewind
  fun:cricket::RtpTestUtility::VerifyTestPacketsFromStream
  ...
}
{
  bug_2078_9
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_10
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_11
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadAll
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  bug_2078_12
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadAll
  fun:cricket::RtpDumpReader::ReadPacket
  ...
}
{
  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:talk_base::scoped_ptr::~scoped_ptr
  ...
}
{
  bug_2078_14
  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
  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
  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_17
  ThreadSanitizer:Race
  fun:Replace_memcpy
  fun:memcpy
  fun:talk_base::MemoryStreamBase::Read
  fun:talk_base::StreamInterface::ReadLine
  fun:cricket::RtpDumpReader::ReadFileHeader
  fun:cricket::RtpDumpReader::ReadPacket
  fun:cricket::RtpDumpLoopReader::ReadPacket
  ...
}
{
  bug_2078_18
  ThreadSanitizer:Race
  fun:talk_base::MemoryStream::~MemoryStream
  ...
}
{
  bug_2078_19
  ThreadSanitizer:Race
  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_20
  ThreadSanitizer:Race
  fun:cricket::FileVideoCapturer::FileReadThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2078_21
  ThreadSanitizer:Race
  fun:::FileVideoCapturerTest::VideoCapturerListener::frame_count
  fun:::FileVideoCapturerTest_TestNoRepeat_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2078_22
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::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: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
  ThreadSanitizer:Race
  fun:talk_base::MemoryStreamBase::SetPosition
  fun:talk_base::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:talk_base::MessageQueue::Dispatch
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2079_1
  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_2
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:talk_base::TestClient::OnPacket
  ...
}
{
  bug_2079_3
  ThreadSanitizer:Race
  fun:ChannelTest::SendRtpToRtpOnThread
  ...
}
{
  bug_2079_4
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2079_5
  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
  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
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:cricket::ChannelManager::SetCaptureDevice
  ...
}
{
  bug_2079_9
  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
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::SignalThread::Destroy
  ...
}
{
  bug_2080_2
  ThreadSanitizer:Race
  fun:talk_base::MessageQueue::Quit
  fun:talk_base::AsyncHttpRequest::OnComplete
  fun:sigslot::_connection2::emit
  ...
}
{
  bug_2080_3
  ThreadSanitizer:Race
  fun:talk_base::LogMessage::UpdateMinLogSeverity
  fun:talk_base::LogMessage::AddLogToStream
  ...
}
{
  bug_2080_4
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:talk_base::LogThread::~LogThread
  ...
}
{
  bug_2080_5
  ThreadSanitizer:Race
  fun:talk_base::Thread::ReceiveSends
  fun:talk_base::MessageQueue::Get
  fun:talk_base::Thread::ProcessMessages
  fun:talk_base::Thread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_6
  ThreadSanitizer:Race
  ...
  fun:talk_base::SocketDispatcher::OnEvent
  fun:talk_base::PhysicalSocketServer::Wait
  fun:talk_base::MessageQueue::Get
  ...
}
{
  bug_2080_7
  ThreadSanitizer:Race
  fun:sigslot::_connection1::emit
  ...
  fun:talk_base::SocketDispatcher::OnEvent
  fun:talk_base::PhysicalSocketServer::Wait
  ...
}
{
  bug_2080_8
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnReadEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_9
  ThreadSanitizer:Race
  ...
  fun:talk_base::AsyncUDPSocket::OnWriteEvent
  fun:sigslot::_connection1::emit
  ...
}
{
  bug_2080_10
  ThreadSanitizer:Race
  fun:sigslot::_connection4::emit
  ...
}
{
  bug_2080_11
  ThreadSanitizer:Race
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_12
  ThreadSanitizer:Race
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_13
  ThreadSanitizer:Race
  fun:std::_Rb_tree::_M_begin
  fun:std::_Rb_tree::find
  fun:std::set::find
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_14
  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_15
  ThreadSanitizer:Race
  fun:talk_base::PhysicalSocket::UpdateLastError
  fun:talk_base::PhysicalSocket::RecvFrom
  fun:talk_base::NATSocket::RecvFrom
  fun:talk_base::AsyncUDPSocket::OnReadEvent
  ...
}
{
  bug_2080_16
  ThreadSanitizer:Race
  ...
  fun:talk_base::IPAddress::operator<
  ...
}
{
  bug_2080_17
  ThreadSanitizer:Race
  ...
  fun:std::_Rb_tree::_M_lower_bound
  fun:std::_Rb_tree::find
  fun:std::set::find
  fun:talk_base::NATServer::Filter
  fun:talk_base::NATServer::OnExternalPacket
  ...
}
{
  bug_2080_18
  ThreadSanitizer:Race
  fun:talk_base::SocketAddress::port
  ...
}
{
  bug_2080_19
  ThreadSanitizer:Race
  fun:std::vector::_M_insert_aux
  fun:std::vector::push_back
  fun:talk_base::TestClient::OnPacket
  ...
}
{
  bug_2080_20
  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
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveTask::waiting_time_in_ms
  ...
}
{
  bug_2080_22
  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
  ThreadSanitizer:Race
  ...
  fun:OwnerThread::Run
  fun:talk_base::Thread::PreRun
}
{
  bug_2080_25
  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
  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_28
  ThreadSanitizer:Race
  fun:talk_base::Thread::~Thread
  fun:OwnerThread::~OwnerThread
  fun:OwnerThread::~OwnerThread
  fun:talk_base::scoped_ptr::~scoped_ptr
  fun:SignalThreadTest_OwnerThreadGoesAway_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_29
  ThreadSanitizer:Race
  fun:talk_base::Thread::Release
  fun:ThreadTest_Release_Test::TestBody
  ...
}
{
  bug_2080_30
  ThreadSanitizer:Race
  fun:talk_base::Thread::Invoke
  fun:MessageQueueTest::IsLocked
  fun:DeletedLockChecker::~DeletedLockChecker
  ...
}
{
  bug_2080_31
  ThreadSanitizer:Race
  fun:talk_base::MessageHandler::~MessageHandler
  fun:talk_base::Thread::FunctorMessageHandler::~FunctorMessageHandler
  ...
}
{
  bug_2080_32
  ThreadSanitizer:Race
  fun:talk_base::ReadTask::OnMessage
  fun:talk_base::MessageQueue::Dispatch
  ...
}
{
  bug_2080_33
  ThreadSanitizer:Race
  fun:talk_base::SharedExclusiveLockTest_TestSharedShared_Test::TestBody
  fun:testing::internal::HandleSehExceptionsInMethodIfSupported
}
{
  bug_2080_34
  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
  ThreadSanitizer:Race
  fun:std::vector::size
  fun:talk_base::TestClient::NextPacket
  fun:talk_base::TestClient::CheckNextPacket
  ...
}

{'fraction_non_alphanumeric': 0.12283065359592987, 'fraction_numerical': 0.024339224619311838, 'mean_word_length': 7.211353711790393, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1359141', 'n_tokens_mistral': 21580, 'n_tokens_neox': 21205, 'n_words': 1748}