1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file contains the default suppressions for ThreadSanitizer.
6// You can also pass additional suppressions via TSAN_OPTIONS:
7// TSAN_OPTIONS=suppressions=/path/to/suppressions. Please refer to
8// http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
9// for more info.
10
11#if defined(THREAD_SANITIZER)
12
13// Please make sure the code below declares a single string variable
14// kTSanDefaultSuppressions contains TSan suppressions delimited by newlines.
15// See http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
16// for the instructions on writing suppressions.
17char kTSanDefaultSuppressions[] =
18// False positives in libflashplayer.so and libglib.so. Since we don't
19// instrument them, we cannot reason about the synchronization in them.
20"race:libflashplayer.so\n"
21"race:libglib*.so\n"
22
23// Intentional race in ToolsSanityTest.DataRace in base_unittests.
24"race:base/tools_sanity_unittest.cc\n"
25
26// Data race on WatchdogCounter [test-only].
27"race:base/threading/watchdog_unittest.cc\n"
28
29// Races in libevent, http://crbug.com/23244.
30"race:libevent/event.c\n"
31
32// http://crbug.com/46840.
33"race:base::HistogramSamples::IncreaseSum\n"
34"race:base::Histogram::Add\n"
35"race:base::HistogramSamples::Add\n"
36
37// http://crbug.com/84094.
38"race:sqlite3StatusSet\n"
39"race:pcache1EnforceMaxPage\n"
40"race:pcache1AllocPage\n"
41
42// http://crbug.com/102327.
43// Test-only race, won't fix.
44"race:tracked_objects::ThreadData::ShutdownSingleThreadedCleanup\n"
45
46// http://crbug.com/115540
47"race:*GetCurrentThreadIdentifier\n"
48
49// http://crbug.com/120808
50"race:base/threading/watchdog.cc\n"
51
52// http://crbug.com/157586
53"race:third_party/libvpx/source/libvpx/vp8/decoder/threading.c\n"
54
55// http://crbug.com/158718
56"race:third_party/ffmpeg/libavcodec/pthread.c\n"
57"race:third_party/ffmpeg/libavcodec/pthread_frame.c\n"
58"race:third_party/ffmpeg/libavcodec/vp8.c\n"
59"race:third_party/ffmpeg/libavutil/mem.c\n"
60"race:*HashFrameForTesting\n"
61"race:third_party/ffmpeg/libavcodec/h264pred.c\n"
62"race:media::ReleaseData\n"
63
64// http://crbug.com/158922
65"race:third_party/libvpx/source/libvpx/vp8/encoder/*\n"
66
67// http://crbug.com/189177
68"race:thread_manager\n"
69"race:v8::Locker::Initialize\n"
70
71// http://crbug.com/223352
72"race:uprv_malloc_52\n"
73"race:uprv_realloc_52\n"
74
75// http://crbug.com/239359
76"race:media::TestInputCallback::OnData\n"
77
78// http://crbug.com/244368
79"race:skia::BeginPlatformPaint\n"
80
81// http://crbug.com/244385
82"race:unixTempFileDir\n"
83
84// http://crbug.com/244755
85"race:v8::internal::Zone::NewExpand\n"
86"race:TooLateToEnableNow\n"
87"race:adjust_segment_bytes_allocated\n"
88
89// http://crbug.com/244774
90"race:webrtc::RTPReceiver::ProcessBitrate\n"
91"race:webrtc::RTPSender::ProcessBitrate\n"
92"race:webrtc::VideoCodingModuleImpl::Decode\n"
93"race:webrtc::RTPSender::SendOutgoingData\n"
94"race:webrtc::VP8EncoderImpl::GetEncodedPartitions\n"
95"race:webrtc::VP8EncoderImpl::Encode\n"
96"race:webrtc::ViEEncoder::DeliverFrame\n"
97"race:webrtc::vcm::VideoReceiver::Decode\n"
98"race:webrtc::VCMReceiver::FrameForDecoding\n"
99"race:*trace_event_unique_catstatic*\n"
100
101// http://crbug.com/244856
102"race:AutoPulseLock\n"
103
104// http://crbug.com/246968
105"race:webrtc::VideoCodingModuleImpl::RegisterPacketRequestCallback\n"
106
107// http://crbug.com/246970
108"race:webrtc::EventPosix::StartTimer\n"
109
110// http://crbug.com/246974
111"race:content::GpuWatchdogThread::CheckArmed\n"
112
113// http://crbug.com/257396
114"race:base::debug::TraceEventTestFixture_TraceSamplingScope_Test::TestBody\n"
115
116// http://crbug.com/258479
117"race:SamplingStateScope\n"
118"race:g_trace_state\n"
119
120// http://crbug.com/258499
121"race:third_party/skia/include/core/SkRefCnt.h\n"
122
123// http://crbug.com/268924
124"race:base::g_power_monitor\n"
125"race:base::PowerMonitor::PowerMonitor\n"
126"race:base::PowerMonitor::AddObserver\n"
127"race:base::PowerMonitor::RemoveObserver\n"
128"race:base::PowerMonitor::IsOnBatteryPower\n"
129
130// http://crbug.com/268941
131"race:tracked_objects::ThreadData::tls_index_\n"
132
133// http://crbug.com/270037
134"race:gLibCleanupFunctions\n"
135
136// http://crbug.com/272095
137"race:base::g_top_manager\n"
138
139// http://crbug.com/272987
140"race:webrtc::MediaStreamTrack<webrtc::AudioTrackInterface>::set_enabled\n"
141
142// http://crbug.com/273047
143"race:base::*::g_lazy_tls_ptr\n"
144"race:IPC::SyncChannel::ReceivedSyncMsgQueue::lazy_tls_ptr_\n"
145
146// http://crbug.com/280466
147"race:content::WebRtcAudioCapturer::SetCapturerSource\n"
148
149// http://crbug.com/285242
150"race:media::PulseAudioOutputStream::SetVolume\n"
151
152// http://crbug.com/290964
153"race:PostponeInterruptsScope\n"
154"race:v8::internal::StackGuard::RequestInstallCode\n"
155
156// http://crbug.com/296883
157"race:net::URLFetcherCore::Stop\n"
158
159// http://crbug.com/308590
160"race:CustomThreadWatcher::~CustomThreadWatcher\n"
161
162// http://crbug.com/310851
163"race:net::ProxyResolverV8Tracing::Job::~Job\n"
164
165// http://crbug.com/313726
166"race:CallbackWasCalled\n"
167
168// http://crbug.com/327330
169"race:PrepareTextureMailbox\n"
170"race:cc::LayerTreeHost::PaintLayerContents\n"
171
172// http://crbug.com/328804
173"race:v8::internal::Heap::SetStackLimits\n"
174"race:ScavengePointer\n"
175
176// http://crbug.com/328826
177"race:gLCDOrder\n"
178"race:gLCDOrientation\n"
179
180// http://crbug.com/328868
181"race:PR_Lock\n"
182
183// http://crbug.com/329225
184"race:blink::currentTimeFunction\n"
185
186// http://crbug.com/329460
187"race:extensions::InfoMap::AddExtension\n"
188
189// http://crbug.com/333244
190"race:content::"
191    "VideoCaptureImplTest::MockVideoCaptureImpl::~MockVideoCaptureImpl\n"
192
193// http://crbug.com/333871
194"race:v8::internal::Interface::NewValue()::value_interface\n"
195"race:v8::internal::IsMinusZero(double)::minus_zero\n"
196"race:v8::internal::FastCloneShallowObjectStub::InitializeInterfaceDescriptor\n"
197"race:v8::internal::KeyedLoadStubCompiler::registers\n"
198"race:v8::internal::KeyedStoreStubCompiler::registers()::registers\n"
199"race:v8::internal::KeyedLoadFastElementStub::InitializeInterfaceDescriptor\n"
200"race:v8::internal::KeyedStoreFastElementStub::InitializeInterfaceDescriptor\n"
201"race:v8::internal::LoadStubCompiler::registers\n"
202"race:v8::internal::StoreStubCompiler::registers\n"
203"race:v8::internal::HValue::LoopWeight\n"
204
205// http://crbug.com/334140
206"race:CommandLine::HasSwitch\n"
207"race:CommandLine::current_process_commandline_\n"
208"race:CommandLine::GetSwitchValueASCII\n"
209
210// http://crbug.com/338675
211"race:blink::s_platform\n"
212"race:content::"
213    "RendererWebKitPlatformSupportImpl::~RendererWebKitPlatformSupportImpl\n"
214
215// http://crbug.com/345240
216"race:WTF::s_shutdown\n"
217
218// http://crbug.com/345245
219"race:jingle_glue::JingleThreadWrapper::~JingleThreadWrapper\n"
220"race:webrtc::voe::Channel::UpdatePacketDelay\n"
221"race:webrtc::voe::Channel::GetDelayEstimate\n"
222"race:webrtc::VCMCodecDataBase::DeregisterReceiveCodec\n"
223"race:webrtc::GainControlImpl::set_stream_analog_level\n"
224
225// http://crbug.com/345618
226"race:WebCore::AudioDestinationNode::render\n"
227
228// http://crbug.com/345624
229"race:media::DataSource::set_host\n"
230
231// http://crbug.com/347534
232"race:v8::internal::V8::TearDown\n"
233
234// http://crbug.com/347538
235"race:sctp_timer_start\n"
236
237// http://crbug.com/347548
238"race:cricket::WebRtcVideoMediaChannel::MaybeResetVieSendCodec\n"
239"race:cricket::WebRtcVideoMediaChannel::SetSendCodec\n"
240
241// http://crbug.com/347553
242"race:blink::WebString::reset\n"
243
244// http://crbug.com/348511
245"race:webrtc::acm1::AudioCodingModuleImpl::PlayoutData10Ms\n"
246
247// http://crbug.com/348982
248"race:cricket::P2PTransportChannel::OnConnectionDestroyed\n"
249"race:cricket::P2PTransportChannel::AddConnection\n"
250
251// http://crbug.com/348984
252"race:sctp_express_handle_sack\n"
253"race:system_base_info\n"
254
255// http://crbug.com/363999
256"race:v8::internal::EnterDebugger::*EnterDebugger\n"
257
258// http://crbug.com/364006
259"race:gfx::ImageFamily::~ImageFamily\n"
260
261// http://crbug.com/364014
262"race:WTF::Latin1Encoding()::globalLatin1Encoding\n"
263
264// https://code.google.com/p/v8/issues/detail?id=3143
265"race:v8::internal::FLAG_track_double_fields\n"
266
267// https://crbug.com/369257
268// TODO(mtklein): annotate properly and remove suppressions.
269"race:SandboxIPCHandler::HandleFontMatchRequest\n"
270"race:SkFontConfigInterfaceDirect::matchFamilyName\n"
271"race:SkFontConfigInterface::GetSingletonDirectInterface\n"
272"race:FcStrStaticName\n"
273
274// http://crbug.com/372807
275"deadlock:net::X509Certificate::CreateCertificateListFromBytes\n"
276"deadlock:net::X509Certificate::CreateFromBytes\n"
277"deadlock:net::SSLClientSocketNSS::Core::DoHandshakeLoop\n"
278
279// http://crbug.com/374135
280"race:media::AlsaWrapper::PcmWritei\n"
281
282// False positive in libc's tzset_internal, http://crbug.com/379738.
283"race:tzset_internal\n"
284
285// http://crbug.com/380554
286"deadlock:g_type_add_interface_static\n"
287
288// http:://crbug.com/386385
289"race:content::AppCacheStorageImpl::DatabaseTask::CallRunCompleted\n"
290
291// http://crbug.com/388730
292"race:g_next_user_script_id\n"
293
294// http://crbug.com/389098
295"race:webrtc::RtpToNtpMs\n"
296"race:webrtc::UpdateRtcpList\n"
297"race:webrtc::RemoteNtpTimeEstimator::Estimate\n"
298"race:webrtc::voe::TransmitMixer::EnableStereoChannelSwapping\n"
299
300// http://crbug.com/397022
301"deadlock:"
302"base::debug::TraceEventTestFixture_ThreadOnceBlocking_Test::TestBody\n"
303
304// http://crbug.com/415472
305"deadlock:base::debug::TraceLog::GetCategoryGroupEnabled\n"
306
307// End of suppressions.
308;  // Please keep this semicolon.
309
310#endif  // THREAD_SANITIZER
311