tsan_suppressions.cc 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. // This file contains the default suppressions for ThreadSanitizer.
  5. // You can also pass additional suppressions via TSAN_OPTIONS:
  6. // TSAN_OPTIONS=suppressions=/path/to/suppressions. Please refer to
  7. // http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
  8. // for more info.
  9. #if defined(THREAD_SANITIZER)
  10. // Please make sure the code below declares a single string variable
  11. // kTSanDefaultSuppressions contains TSan suppressions delimited by newlines.
  12. // See http://dev.chromium.org/developers/testing/threadsanitizer-tsan-v2
  13. // for the instructions on writing suppressions.
  14. char kTSanDefaultSuppressions[] =
  15. // False positives in libdbus.so, libdconfsettings.so, libflashplayer.so,
  16. // libgio.so, libglib.so, libgobject.so, and libfontconfig.so.1.
  17. // Since we don't instrument them, we cannot reason about the
  18. // synchronization in them.
  19. "race:libdbus*.so\n"
  20. "race:libdconfsettings*.so\n"
  21. "race:libflashplayer.so\n"
  22. "race:libgio*.so\n"
  23. "race:libglib*.so\n"
  24. "race:libgobject*.so\n"
  25. "race:libfontconfig.so.1\n"
  26. // Intentional race in ToolsSanityTest.DataRace in base_unittests.
  27. "race:base/tools_sanity_unittest.cc\n"
  28. // Data race on WatchdogCounter [test-only].
  29. "race:base/threading/watchdog_unittest.cc\n"
  30. // Data race caused by swapping out the network change notifier with a mock
  31. // [test-only]. http://crbug.com/927330.
  32. "race:content/browser/net_info_browsertest.cc\n"
  33. // http://crbug.com/120808
  34. "race:base/threading/watchdog.cc\n"
  35. // http://crbug.com/157586
  36. "race:third_party/libvpx/source/libvpx/vp8/decoder/threading.c\n"
  37. // http://crbug.com/244856
  38. "race:libpulsecommon*.so\n"
  39. // http://crbug.com/258479
  40. "race:g_trace_state\n"
  41. // http://crbug.com/268924
  42. "race:base::g_power_monitor\n"
  43. "race:base::PowerMonitor::PowerMonitor\n"
  44. "race:base::PowerMonitor::AddObserver\n"
  45. "race:base::PowerMonitor::RemoveObserver\n"
  46. "race:base::PowerMonitor::IsOnBatteryPower\n"
  47. // http://crbug.com/308590
  48. "race:CustomThreadWatcher::~CustomThreadWatcher\n"
  49. // http://crbug.com/476529
  50. "deadlock:cc::VideoLayerImpl::WillDraw\n"
  51. // http://crbug.com/328826
  52. "race:skia::(anonymous namespace)::g_pixel_geometry\n"
  53. // http://crbug.com/328868
  54. "race:PR_Lock\n"
  55. // False positive in libc's tzset_internal, http://crbug.com/379738.
  56. "race:tzset_internal\n"
  57. // http://crbug.com/380554
  58. "deadlock:g_type_add_interface_static\n"
  59. // http://crbug.com/397022
  60. "deadlock:"
  61. "base::trace_event::TraceEventTestFixture_ThreadOnceBlocking_Test::"
  62. "TestBody\n"
  63. // http://crbug.com/415472
  64. "deadlock:base::trace_event::TraceLog::GetCategoryGroupEnabled\n"
  65. // Lock inversion in third party code, won't fix.
  66. // https://crbug.com/455638
  67. "deadlock:dbus::Bus::ShutdownAndBlock\n"
  68. // https://crbug.com/459429
  69. "race:randomnessPid\n"
  70. // http://crbug.com/633145
  71. "race:third_party/libjpeg_turbo/simd/jsimd_x86_64.c\n"
  72. // http://crbug.com/691029
  73. "deadlock:libGLX.so*\n"
  74. // http://crbug.com/973947
  75. "deadlock:libnvidia-glsi.so*\n"
  76. // http://crbug.com/695929
  77. "race:base::i18n::IsRTL\n"
  78. "race:base::i18n::SetICUDefaultLocale\n"
  79. // https://crbug.com/794920
  80. "race:base::debug::SetCrashKeyString\n"
  81. "race:crash_reporter::internal::CrashKeyStringImpl::Clear\n"
  82. "race:crash_reporter::internal::CrashKeyStringImpl::Set\n"
  83. // http://crbug.com/927330
  84. "race:net::(anonymous namespace)::g_network_change_notifier\n"
  85. // https://crbug.com/977085
  86. "race:vp3_update_thread_context\n"
  87. // Benign data race in libjpeg-turbo, won't fix
  88. // (https://github.com/libjpeg-turbo/libjpeg-turbo/issues/87).
  89. // https://crbug.com/1056011
  90. "race:third_party/libjpeg_turbo/simd/x86_64/jsimd.c\n"
  91. // https://crbug.com/1158622
  92. "race:absl::synchronization_internal::Waiter::Post\n"
  93. // Harmless data races, see WTF::StringImpl::Release code comments.
  94. "race:scoped_refptr<WTF::StringImpl>::AddRef\n"
  95. "race:scoped_refptr<WTF::StringImpl>::Release\n"
  96. // Harmless data race in ipcz block allocation. See comments in
  97. // ipcz::BlockAllocator::Allocate().
  98. "race:ipcz::BlockAllocator::Allocate\n"
  99. // End of suppressions.
  100. ; // Please keep this semicolon.
  101. #endif // THREAD_SANITIZER