15f9996aaSopenharmony_ci// Copyright 2014 The Chromium Authors. All rights reserved.
25f9996aaSopenharmony_ci// Use of this source code is governed by a BSD-style license that can be
35f9996aaSopenharmony_ci// found in the LICENSE file.
45f9996aaSopenharmony_ci
55f9996aaSopenharmony_ci// This file contains the default suppressions for ThreadSanitizer.
65f9996aaSopenharmony_ci// You can also pass additional suppressions via TSAN_OPTIONS:
75f9996aaSopenharmony_ci// TSAN_OPTIONS=suppressions=/path/to/suppressions. Please refer to
85f9996aaSopenharmony_ci// http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
95f9996aaSopenharmony_ci// for more info.
105f9996aaSopenharmony_ci
115f9996aaSopenharmony_ci#if defined(THREAD_SANITIZER)
125f9996aaSopenharmony_ci
135f9996aaSopenharmony_ci// Please make sure the code below declares a single string variable
145f9996aaSopenharmony_ci// kTSanDefaultSuppressions contains TSan suppressions delimited by newlines.
155f9996aaSopenharmony_ci// See http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
165f9996aaSopenharmony_ci// for the instructions on writing suppressions.
175f9996aaSopenharmony_cichar kTSanDefaultSuppressions[] =
185f9996aaSopenharmony_ci    // False positives in libflashplayer.so, libgio.so and libglib.so.
195f9996aaSopenharmony_ci    // Since we don't instrument them, we cannot reason about the
205f9996aaSopenharmony_ci    // synchronization in them.
215f9996aaSopenharmony_ci    "race:libflashplayer.so\n"
225f9996aaSopenharmony_ci    "race:libgio*.so\n"
235f9996aaSopenharmony_ci    "race:libglib*.so\n"
245f9996aaSopenharmony_ci
255f9996aaSopenharmony_ci    // Intentional race in ToolsSanityTest.DataRace in base_unittests.
265f9996aaSopenharmony_ci    "race:base/tools_sanity_unittest.cc\n"
275f9996aaSopenharmony_ci
285f9996aaSopenharmony_ci    // Data race on WatchdogCounter [test-only].
295f9996aaSopenharmony_ci    "race:base/threading/watchdog_unittest.cc\n"
305f9996aaSopenharmony_ci
315f9996aaSopenharmony_ci    // Races in libevent, http://crbug.com/23244.
325f9996aaSopenharmony_ci    "race:libevent/event.c\n"
335f9996aaSopenharmony_ci
345f9996aaSopenharmony_ci    // http://crbug.com/84094.
355f9996aaSopenharmony_ci    "race:sqlite3StatusSet\n"
365f9996aaSopenharmony_ci    "race:pcache1EnforceMaxPage\n"
375f9996aaSopenharmony_ci    "race:pcache1AllocPage\n"
385f9996aaSopenharmony_ci
395f9996aaSopenharmony_ci    // http://crbug.com/120808
405f9996aaSopenharmony_ci    "race:base/threading/watchdog.cc\n"
415f9996aaSopenharmony_ci
425f9996aaSopenharmony_ci    // http://crbug.com/157586
435f9996aaSopenharmony_ci    "race:third_party/libvpx/source/libvpx/vp8/decoder/threading.c\n"
445f9996aaSopenharmony_ci
455f9996aaSopenharmony_ci    // http://crbug.com/158718
465f9996aaSopenharmony_ci    "race:third_party/ffmpeg/libavcodec/pthread.c\n"
475f9996aaSopenharmony_ci    "race:third_party/ffmpeg/libavcodec/pthread_frame.c\n"
485f9996aaSopenharmony_ci    "race:third_party/ffmpeg/libavcodec/vp8.c\n"
495f9996aaSopenharmony_ci    "race:third_party/ffmpeg/libavutil/mem.c\n"
505f9996aaSopenharmony_ci    "race:*HashFrameForTesting\n"
515f9996aaSopenharmony_ci    "race:third_party/ffmpeg/libavcodec/h264pred.c\n"
525f9996aaSopenharmony_ci    "race:media::ReleaseData\n"
535f9996aaSopenharmony_ci
545f9996aaSopenharmony_ci    // http://crbug.com/158922
555f9996aaSopenharmony_ci    "race:third_party/libvpx/source/libvpx/vp8/encoder/*\n"
565f9996aaSopenharmony_ci    "race:third_party/libvpx/source/libvpx/vp9/encoder/*\n"
575f9996aaSopenharmony_ci
585f9996aaSopenharmony_ci    // http://crbug.com/239359
595f9996aaSopenharmony_ci    "race:media::TestInputCallback::OnData\n"
605f9996aaSopenharmony_ci
615f9996aaSopenharmony_ci    // http://crbug.com/244368
625f9996aaSopenharmony_ci    "race:skia::BeginPlatformPaint\n"
635f9996aaSopenharmony_ci
645f9996aaSopenharmony_ci    // http://crbug.com/244385
655f9996aaSopenharmony_ci    "race:unixTempFileDir\n"
665f9996aaSopenharmony_ci
675f9996aaSopenharmony_ci    // http://crbug.com/244755
685f9996aaSopenharmony_ci    "race:v8::internal::Zone::NewExpand\n"
695f9996aaSopenharmony_ci    "race:TooLateToEnableNow\n"
705f9996aaSopenharmony_ci    "race:adjust_segment_bytes_allocated\n"
715f9996aaSopenharmony_ci
725f9996aaSopenharmony_ci    // http://crbug.com/244774
735f9996aaSopenharmony_ci    "race:webrtc::RTPReceiver::ProcessBitrate\n"
745f9996aaSopenharmony_ci    "race:webrtc::RTPSender::ProcessBitrate\n"
755f9996aaSopenharmony_ci    "race:webrtc::VideoCodingModuleImpl::Decode\n"
765f9996aaSopenharmony_ci    "race:webrtc::RTPSender::SendOutgoingData\n"
775f9996aaSopenharmony_ci    "race:webrtc::LibvpxVp8Encoder::GetEncodedPartitions\n"
785f9996aaSopenharmony_ci    "race:webrtc::LibvpxVp8Encoder::Encode\n"
795f9996aaSopenharmony_ci    "race:webrtc::ViEEncoder::DeliverFrame\n"
805f9996aaSopenharmony_ci    "race:webrtc::vcm::VideoReceiver::Decode\n"
815f9996aaSopenharmony_ci    "race:webrtc::VCMReceiver::FrameForDecoding\n"
825f9996aaSopenharmony_ci    "race:*trace_event_unique_catstatic*\n"
835f9996aaSopenharmony_ci
845f9996aaSopenharmony_ci    // http://crbug.com/244856
855f9996aaSopenharmony_ci    "race:libpulsecommon*.so\n"
865f9996aaSopenharmony_ci
875f9996aaSopenharmony_ci    // http://crbug.com/246968
885f9996aaSopenharmony_ci    "race:webrtc::VideoCodingModuleImpl::RegisterPacketRequestCallback\n"
895f9996aaSopenharmony_ci
905f9996aaSopenharmony_ci    // http://crbug.com/257396
915f9996aaSopenharmony_ci    "race:base::trace_event::"
925f9996aaSopenharmony_ci    "TraceEventTestFixture_TraceSamplingScope_Test::TestBody\n"
935f9996aaSopenharmony_ci
945f9996aaSopenharmony_ci    // http://crbug.com/258479
955f9996aaSopenharmony_ci    "race:SamplingStateScope\n"
965f9996aaSopenharmony_ci    "race:g_trace_state\n"
975f9996aaSopenharmony_ci
985f9996aaSopenharmony_ci    // http://crbug.com/258499
995f9996aaSopenharmony_ci    "race:third_party/skia/include/core/SkRefCnt.h\n"
1005f9996aaSopenharmony_ci
1015f9996aaSopenharmony_ci    // http://crbug.com/268924
1025f9996aaSopenharmony_ci    "race:base::g_power_monitor\n"
1035f9996aaSopenharmony_ci    "race:base::PowerMonitor::PowerMonitor\n"
1045f9996aaSopenharmony_ci    "race:base::PowerMonitor::AddObserver\n"
1055f9996aaSopenharmony_ci    "race:base::PowerMonitor::RemoveObserver\n"
1065f9996aaSopenharmony_ci    "race:base::PowerMonitor::IsOnBatteryPower\n"
1075f9996aaSopenharmony_ci
1085f9996aaSopenharmony_ci    // http://crbug.com/258935
1095f9996aaSopenharmony_ci    "race:base::Thread::StopSoon\n"
1105f9996aaSopenharmony_ci
1115f9996aaSopenharmony_ci    // http://crbug.com/272095
1125f9996aaSopenharmony_ci    "race:base::g_top_manager\n"
1135f9996aaSopenharmony_ci
1145f9996aaSopenharmony_ci    // http://crbug.com/308590
1155f9996aaSopenharmony_ci    "race:CustomThreadWatcher::~CustomThreadWatcher\n"
1165f9996aaSopenharmony_ci
1175f9996aaSopenharmony_ci    // http://crbug.com/310851
1185f9996aaSopenharmony_ci    "race:net::ProxyResolverV8Tracing::Job::~Job\n"
1195f9996aaSopenharmony_ci
1205f9996aaSopenharmony_ci    // http://crbug.com/476529
1215f9996aaSopenharmony_ci    "deadlock:cc::VideoLayerImpl::WillDraw\n"
1225f9996aaSopenharmony_ci
1235f9996aaSopenharmony_ci    // http://crbug.com/328826
1245f9996aaSopenharmony_ci    "race:gLCDOrder\n"
1255f9996aaSopenharmony_ci    "race:gLCDOrientation\n"
1265f9996aaSopenharmony_ci
1275f9996aaSopenharmony_ci    // http://crbug.com/328868
1285f9996aaSopenharmony_ci    "race:PR_Lock\n"
1295f9996aaSopenharmony_ci
1305f9996aaSopenharmony_ci    // http://crbug.com/333244
1315f9996aaSopenharmony_ci    "race:content::"
1325f9996aaSopenharmony_ci    "VideoCaptureImplTest::MockVideoCaptureImpl::~MockVideoCaptureImpl\n"
1335f9996aaSopenharmony_ci
1345f9996aaSopenharmony_ci    // http://crbug.com/333871
1355f9996aaSopenharmony_ci    "race:v8::internal::Interface::NewValue()::value_interface\n"
1365f9996aaSopenharmony_ci    "race:v8::internal::IsMinusZero(double)::minus_zero\n"
1375f9996aaSopenharmony_ci    "race:v8::internal::FastCloneShallowObjectStub::"
1385f9996aaSopenharmony_ci    "InitializeInterfaceDescriptor\n"
1395f9996aaSopenharmony_ci    "race:v8::internal::KeyedLoadStubCompiler::registers\n"
1405f9996aaSopenharmony_ci    "race:v8::internal::KeyedStoreStubCompiler::registers()::registers\n"
1415f9996aaSopenharmony_ci    "race:v8::internal::KeyedLoadFastElementStub::"
1425f9996aaSopenharmony_ci    "InitializeInterfaceDescriptor\n"
1435f9996aaSopenharmony_ci    "race:v8::internal::KeyedStoreFastElementStub::"
1445f9996aaSopenharmony_ci    "InitializeInterfaceDescriptor\n"
1455f9996aaSopenharmony_ci    "race:v8::internal::LoadStubCompiler::registers\n"
1465f9996aaSopenharmony_ci    "race:v8::internal::StoreStubCompiler::registers\n"
1475f9996aaSopenharmony_ci    "race:v8::internal::HValue::LoopWeight\n"
1485f9996aaSopenharmony_ci
1495f9996aaSopenharmony_ci    // http://crbug.com/334140
1505f9996aaSopenharmony_ci    "race:CommandLine::HasSwitch\n"
1515f9996aaSopenharmony_ci    "race:CommandLine::current_process_commandline_\n"
1525f9996aaSopenharmony_ci    "race:CommandLine::GetSwitchValueASCII\n"
1535f9996aaSopenharmony_ci
1545f9996aaSopenharmony_ci    // http://crbug.com/338675
1555f9996aaSopenharmony_ci    "race:blink::s_platform\n"
1565f9996aaSopenharmony_ci    "race:content::"
1575f9996aaSopenharmony_ci    "RendererWebKitPlatformSupportImpl::~RendererWebKitPlatformSupportImpl\n"
1585f9996aaSopenharmony_ci
1595f9996aaSopenharmony_ci    // http://crbug.com/347534
1605f9996aaSopenharmony_ci    "race:v8::internal::V8::TearDown\n"
1615f9996aaSopenharmony_ci
1625f9996aaSopenharmony_ci    // http://crbug.com/347538
1635f9996aaSopenharmony_ci    "race:sctp_timer_start\n"
1645f9996aaSopenharmony_ci
1655f9996aaSopenharmony_ci    // http://crbug.com/347553
1665f9996aaSopenharmony_ci    "race:blink::WebString::reset\n"
1675f9996aaSopenharmony_ci
1685f9996aaSopenharmony_ci    // http://crbug.com/348511
1695f9996aaSopenharmony_ci    "race:webrtc::acm1::AudioCodingModuleImpl::PlayoutData10Ms\n"
1705f9996aaSopenharmony_ci
1715f9996aaSopenharmony_ci    // http://crbug.com/348982
1725f9996aaSopenharmony_ci    "race:cricket::P2PTransportChannel::OnConnectionDestroyed\n"
1735f9996aaSopenharmony_ci    "race:cricket::P2PTransportChannel::AddConnection\n"
1745f9996aaSopenharmony_ci
1755f9996aaSopenharmony_ci    // http://crbug.com/348984
1765f9996aaSopenharmony_ci    "race:sctp_express_handle_sack\n"
1775f9996aaSopenharmony_ci    "race:system_base_info\n"
1785f9996aaSopenharmony_ci
1795f9996aaSopenharmony_ci    // https://code.google.com/p/v8/issues/detail?id=3143
1805f9996aaSopenharmony_ci    "race:v8::internal::FLAG_track_double_fields\n"
1815f9996aaSopenharmony_ci
1825f9996aaSopenharmony_ci    // http://crbug.com/374135
1835f9996aaSopenharmony_ci    "race:media::AlsaWrapper::PcmWritei\n"
1845f9996aaSopenharmony_ci
1855f9996aaSopenharmony_ci    // False positive in libc's tzset_internal, http://crbug.com/379738.
1865f9996aaSopenharmony_ci    "race:tzset_internal\n"
1875f9996aaSopenharmony_ci
1885f9996aaSopenharmony_ci    // http://crbug.com/380554
1895f9996aaSopenharmony_ci    "deadlock:g_type_add_interface_static\n"
1905f9996aaSopenharmony_ci
1915f9996aaSopenharmony_ci    // http:://crbug.com/386385
1925f9996aaSopenharmony_ci    "race:content::AppCacheStorageImpl::DatabaseTask::CallRunCompleted\n"
1935f9996aaSopenharmony_ci
1945f9996aaSopenharmony_ci    // http://crbug.com/388730
1955f9996aaSopenharmony_ci    "race:g_next_user_script_id\n"
1965f9996aaSopenharmony_ci
1975f9996aaSopenharmony_ci    // http://crbug.com/397022
1985f9996aaSopenharmony_ci    "deadlock:"
1995f9996aaSopenharmony_ci    "base::trace_event::TraceEventTestFixture_ThreadOnceBlocking_Test::"
2005f9996aaSopenharmony_ci    "TestBody\n"
2015f9996aaSopenharmony_ci
2025f9996aaSopenharmony_ci    // http://crbug.com/415472
2035f9996aaSopenharmony_ci    "deadlock:base::trace_event::TraceLog::GetCategoryGroupEnabled\n"
2045f9996aaSopenharmony_ci
2055f9996aaSopenharmony_ci    // http://crbug.com/490856
2065f9996aaSopenharmony_ci    "deadlock:content::TracingControllerImpl::SetEnabledOnFileThread\n"
2075f9996aaSopenharmony_ci
2085f9996aaSopenharmony_ci    // https://code.google.com/p/skia/issues/detail?id=3294
2095f9996aaSopenharmony_ci    "race:SkBaseMutex::acquire\n"
2105f9996aaSopenharmony_ci
2115f9996aaSopenharmony_ci    // https://crbug.com/430533
2125f9996aaSopenharmony_ci    "race:TileTaskGraphRunner::Run\n"
2135f9996aaSopenharmony_ci
2145f9996aaSopenharmony_ci    // Lock inversion in third party code, won't fix.
2155f9996aaSopenharmony_ci    // https://crbug.com/455638
2165f9996aaSopenharmony_ci    "deadlock:dbus::Bus::ShutdownAndBlock\n"
2175f9996aaSopenharmony_ci
2185f9996aaSopenharmony_ci    // https://crbug.com/459429
2195f9996aaSopenharmony_ci    "race:randomnessPid\n"
2205f9996aaSopenharmony_ci
2215f9996aaSopenharmony_ci    // https://crbug.com/454655
2225f9996aaSopenharmony_ci    "race:content::BrowserTestBase::PostTaskToInProcessRendererAndWait\n"
2235f9996aaSopenharmony_ci
2245f9996aaSopenharmony_ci    // https://crbug.com/569682
2255f9996aaSopenharmony_ci    "race:blink::ThreadState::visitStackRoots\n"
2265f9996aaSopenharmony_ci
2275f9996aaSopenharmony_ci    // http://crbug.com/582274
2285f9996aaSopenharmony_ci    "race:usrsctp_close\n"
2295f9996aaSopenharmony_ci
2305f9996aaSopenharmony_ci    // http://crbug.com/633145
2315f9996aaSopenharmony_ci    "race:third_party/libjpeg_turbo/simd/jsimd_x86_64.c\n"
2325f9996aaSopenharmony_ci
2335f9996aaSopenharmony_ci    // http://crbug.com/587199
2345f9996aaSopenharmony_ci    "race:base::TimerTest_OneShotTimer_CustomTaskRunner_Test::TestBody\n"
2355f9996aaSopenharmony_ci    "race:base::TimerSequenceTest_OneShotTimerTaskOnPoolSequence_Test::"
2365f9996aaSopenharmony_ci    "TestBody\n"
2375f9996aaSopenharmony_ci    "race:base::TimerSequenceTest_"
2385f9996aaSopenharmony_ci    "OneShotTimerUsedAndTaskedOnDifferentSequences\n"
2395f9996aaSopenharmony_ci
2405f9996aaSopenharmony_ci    // http://crbug.com/v8/6065
2415f9996aaSopenharmony_ci    "race:net::(anonymous namespace)::ProxyResolverV8TracingImpl::RequestImpl"
2425f9996aaSopenharmony_ci    "::~RequestImpl()\n"
2435f9996aaSopenharmony_ci
2445f9996aaSopenharmony_ci    // http://crbug.com/691029
2455f9996aaSopenharmony_ci    "deadlock:libGLX.so*\n"
2465f9996aaSopenharmony_ci
2475f9996aaSopenharmony_ci    // http://crbug.com/719633
2485f9996aaSopenharmony_ci    "race:crypto::EnsureNSSInit()\n"
2495f9996aaSopenharmony_ci
2505f9996aaSopenharmony_ci    // http://crbug.com/695929
2515f9996aaSopenharmony_ci    "race:base::i18n::IsRTL\n"
2525f9996aaSopenharmony_ci    "race:base::i18n::SetICUDefaultLocale\n"
2535f9996aaSopenharmony_ci
2545f9996aaSopenharmony_ci    // https://crbug.com/794920
2555f9996aaSopenharmony_ci    "race:base::debug::SetCrashKeyString\n"
2565f9996aaSopenharmony_ci    "race:crash_reporter::internal::CrashKeyStringImpl::Set\n"
2575f9996aaSopenharmony_ci
2585f9996aaSopenharmony_ci    // http://crbug.com/795110
2595f9996aaSopenharmony_ci    "race:third_party/fontconfig/*\n"
2605f9996aaSopenharmony_ci
2615f9996aaSopenharmony_ci    // http://crbug.com/797998
2625f9996aaSopenharmony_ci    "race:content::SandboxIPCHandler::HandleLocaltime\n"
2635f9996aaSopenharmony_ci
2645f9996aaSopenharmony_ci    // End of suppressions.
2655f9996aaSopenharmony_ci    ;  // Please keep this semicolon.
2665f9996aaSopenharmony_ci
2675f9996aaSopenharmony_ci#endif  // THREAD_SANITIZER
268