One failing run:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20GPU%20TSAN%20Release/builds/9445
WARNING: ThreadSanitizer: data race (pid=2120)
Atomic read of size 1 at 0x7b0c00009870 by thread T1:
#0 pthread_mutex_lock ??:? (audio_unittests+0x47367e)
#1 pa_mutex_lock ??:? (libpulsecommon-4.0.so+0x4508d)
Previous write of size 8 at 0x7b0c00009870 by main thread (mutexes: write M354):
#0 malloc ??:? (audio_unittests+0x456d88)
#1 pa_xmalloc ??:? (libpulsecommon-4.0.so+0x10a46)
#2 InitPulse media/audio/pulse/pulse_util.cc:162 (audio_unittests+0x65386c)
#3 CreateAudioManager media/audio/linux/audio_manager_linux.cc:46 (audio_unittests+0x644251)
#4 Create media/audio/audio_manager.cc:287 (audio_unittests+0x61fe49)
#5 CreateForTesting media/audio/audio_manager.cc:300 (audio_unittests+0x61fe49)
#6 Create media/audio/audio_manager_unittest.cc:93 (audio_unittests+0x51806a)
#7 CreateAudioManagerForTesting<nullptr_t> media/audio/audio_manager_unittest.cc:351 (audio_unittests+0x51806a)
#8 AudioManagerTest media/audio/audio_manager_unittest.cc:247 (audio_unittests+0x518e99)
#9 AudioManagerTest_GroupId_Test media/audio/audio_manager_unittest.cc:637 (audio_unittests+0x518e99)
#10 CreateTest third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (audio_unittests+0x518e99)
#11 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6b705a)
#12 Run third_party/googletest/src/googletest/src/gtest.cc:2645 (audio_unittests+0x6b705a)
#13 Run third_party/googletest/src/googletest/src/gtest.cc:2772 (audio_unittests+0x6b7946)
#14 RunAllTests third_party/googletest/src/googletest/src/gtest.cc:4677 (audio_unittests+0x6c0ce6)
#15 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6c06e5)
#16 Run third_party/googletest/src/googletest/src/gtest.cc:4285 (audio_unittests+0x6c06e5)
#17 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237 (audio_unittests+0x6e05e6)
#18 Run base/test/test_suite.cc:270 (audio_unittests+0x6e05e6)
#19 Invoke<TestSuiteNoAtExit *> base/bind_internal.h:194 (audio_unittests+0x610fa8)
#20 MakeItSo<int (base::TestSuite::*const &)(), TestSuiteNoAtExit *> base/bind_internal.h:277 (audio_unittests+0x610fa8)
#21 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<TestSuiteNoAtExit> > &, 0> base/bind_internal.h:349 (audio_unittests+0x610fa8)
#22 Run base/bind_internal.h:331 (audio_unittests+0x610fa8)
#23 Run base/callback.h:92 (audio_unittests+0x6e2306)
#24 LaunchUnitTestsInternal base/test/launcher/unit_test_launcher.cc:216 (audio_unittests+0x6e2306)
#25 LaunchUnitTests base/test/launcher/unit_test_launcher.cc:475 (audio_unittests+0x6e2183)
#26 main media/test/run_all_unittests.cc:56 (audio_unittests+0x610e42)
Location is heap block of size 40 at 0x7b0c00009870 allocated by main thread:
#0 malloc ??:? (audio_unittests+0x456d88)
#1 pa_xmalloc ??:? (libpulsecommon-4.0.so+0x10a46)
#2 InitPulse media/audio/pulse/pulse_util.cc:162 (audio_unittests+0x65386c)
#3 CreateAudioManager media/audio/linux/audio_manager_linux.cc:46 (audio_unittests+0x644251)
#4 Create media/audio/audio_manager.cc:287 (audio_unittests+0x61fe49)
#5 CreateForTesting media/audio/audio_manager.cc:300 (audio_unittests+0x61fe49)
#6 Create media/audio/audio_manager_unittest.cc:93 (audio_unittests+0x51806a)
#7 CreateAudioManagerForTesting<nullptr_t> media/audio/audio_manager_unittest.cc:351 (audio_unittests+0x51806a)
#8 AudioManagerTest media/audio/audio_manager_unittest.cc:247 (audio_unittests+0x518e99)
#9 AudioManagerTest_GroupId_Test media/audio/audio_manager_unittest.cc:637 (audio_unittests+0x518e99)
#10 CreateTest third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (audio_unittests+0x518e99)
#11 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6b705a)
#12 Run third_party/googletest/src/googletest/src/gtest.cc:2645 (audio_unittests+0x6b705a)
#13 Run third_party/googletest/src/googletest/src/gtest.cc:2772 (audio_unittests+0x6b7946)
#14 RunAllTests third_party/googletest/src/googletest/src/gtest.cc:4677 (audio_unittests+0x6c0ce6)
#15 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6c06e5)
#16 Run third_party/googletest/src/googletest/src/gtest.cc:4285 (audio_unittests+0x6c06e5)
#17 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237 (audio_unittests+0x6e05e6)
#18 Run base/test/test_suite.cc:270 (audio_unittests+0x6e05e6)
#19 Invoke<TestSuiteNoAtExit *> base/bind_internal.h:194 (audio_unittests+0x610fa8)
#20 MakeItSo<int (base::TestSuite::*const &)(), TestSuiteNoAtExit *> base/bind_internal.h:277 (audio_unittests+0x610fa8)
#21 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<TestSuiteNoAtExit> > &, 0> base/bind_internal.h:349 (audio_unittests+0x610fa8)
#22 Run base/bind_internal.h:331 (audio_unittests+0x610fa8)
#23 Run base/callback.h:92 (audio_unittests+0x6e2306)
#24 LaunchUnitTestsInternal base/test/launcher/unit_test_launcher.cc:216 (audio_unittests+0x6e2306)
#25 LaunchUnitTests base/test/launcher/unit_test_launcher.cc:475 (audio_unittests+0x6e2183)
#26 main media/test/run_all_unittests.cc:56 (audio_unittests+0x610e42)
Mutex M354 (0x7b0c000045f0) created at:
#0 pthread_mutex_init ??:? (audio_unittests+0x459843)
#1 pa_mutex_new ??:? (libpulsecommon-4.0.so+0x44da9)
#2 InitPulse media/audio/pulse/pulse_util.cc:116 (audio_unittests+0x65365a)
#3 CreateAudioManager media/audio/linux/audio_manager_linux.cc:46 (audio_unittests+0x644251)
#4 Create media/audio/audio_manager.cc:287 (audio_unittests+0x61fe49)
#5 CreateForTesting media/audio/audio_manager.cc:300 (audio_unittests+0x61fe49)
#6 Create media/audio/audio_manager_unittest.cc:93 (audio_unittests+0x51806a)
#7 CreateAudioManagerForTesting<nullptr_t> media/audio/audio_manager_unittest.cc:351 (audio_unittests+0x51806a)
#8 AudioManagerTest media/audio/audio_manager_unittest.cc:247 (audio_unittests+0x518e99)
#9 AudioManagerTest_GroupId_Test media/audio/audio_manager_unittest.cc:637 (audio_unittests+0x518e99)
#10 CreateTest third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (audio_unittests+0x518e99)
#11 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6b705a)
#12 Run third_party/googletest/src/googletest/src/gtest.cc:2645 (audio_unittests+0x6b705a)
#13 Run third_party/googletest/src/googletest/src/gtest.cc:2772 (audio_unittests+0x6b7946)
#14 RunAllTests third_party/googletest/src/googletest/src/gtest.cc:4677 (audio_unittests+0x6c0ce6)
#15 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6c06e5)
#16 Run third_party/googletest/src/googletest/src/gtest.cc:4285 (audio_unittests+0x6c06e5)
#17 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237 (audio_unittests+0x6e05e6)
#18 Run base/test/test_suite.cc:270 (audio_unittests+0x6e05e6)
#19 Invoke<TestSuiteNoAtExit *> base/bind_internal.h:194 (audio_unittests+0x610fa8)
#20 MakeItSo<int (base::TestSuite::*const &)(), TestSuiteNoAtExit *> base/bind_internal.h:277 (audio_unittests+0x610fa8)
#21 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<TestSuiteNoAtExit> > &, 0> base/bind_internal.h:349 (audio_unittests+0x610fa8)
#22 Run base/bind_internal.h:331 (audio_unittests+0x610fa8)
#23 Run base/callback.h:92 (audio_unittests+0x6e2306)
#24 LaunchUnitTestsInternal base/test/launcher/unit_test_launcher.cc:216 (audio_unittests+0x6e2306)
#25 LaunchUnitTests base/test/launcher/unit_test_launcher.cc:475 (audio_unittests+0x6e2183)
#26 main media/test/run_all_unittests.cc:56 (audio_unittests+0x610e42)
Thread T1 'threaded-ml' (tid=2154, running) created by main thread at:
#0 pthread_create ??:? (audio_unittests+0x458733)
#1 pa_thread_new ??:? (libpulsecommon-4.0.so+0x4574c)
#2 InitPulse media/audio/pulse/pulse_util.cc:143 (audio_unittests+0x6537da)
#3 CreateAudioManager media/audio/linux/audio_manager_linux.cc:46 (audio_unittests+0x644251)
#4 Create media/audio/audio_manager.cc:287 (audio_unittests+0x61fe49)
#5 CreateForTesting media/audio/audio_manager.cc:300 (audio_unittests+0x61fe49)
#6 Create media/audio/audio_manager_unittest.cc:93 (audio_unittests+0x51806a)
#7 CreateAudioManagerForTesting<nullptr_t> media/audio/audio_manager_unittest.cc:351 (audio_unittests+0x51806a)
#8 AudioManagerTest media/audio/audio_manager_unittest.cc:247 (audio_unittests+0x518e99)
#9 AudioManagerTest_GroupId_Test media/audio/audio_manager_unittest.cc:637 (audio_unittests+0x518e99)
#10 CreateTest third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (audio_unittests+0x518e99)
#11 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6b705a)
#12 Run third_party/googletest/src/googletest/src/gtest.cc:2645 (audio_unittests+0x6b705a)
#13 Run third_party/googletest/src/googletest/src/gtest.cc:2772 (audio_unittests+0x6b7946)
#14 RunAllTests third_party/googletest/src/googletest/src/gtest.cc:4677 (audio_unittests+0x6c0ce6)
#15 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2456 (audio_unittests+0x6c06e5)
#16 Run third_party/googletest/src/googletest/src/gtest.cc:4285 (audio_unittests+0x6c06e5)
#17 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237 (audio_unittests+0x6e05e6)
#18 Run base/test/test_suite.cc:270 (audio_unittests+0x6e05e6)
#19 Invoke<TestSuiteNoAtExit *> base/bind_internal.h:194 (audio_unittests+0x610fa8)
#20 MakeItSo<int (base::TestSuite::*const &)(), TestSuiteNoAtExit *> base/bind_internal.h:277 (audio_unittests+0x610fa8)
#21 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<TestSuiteNoAtExit> > &, 0> base/bind_internal.h:349 (audio_unittests+0x610fa8)
#22 Run base/bind_internal.h:331 (audio_unittests+0x610fa8)
#23 Run base/callback.h:92 (audio_unittests+0x6e2306)
#24 LaunchUnitTestsInternal base/test/launcher/unit_test_launcher.cc:216 (audio_unittests+0x6e2306)
#25 LaunchUnitTests base/test/launcher/unit_test_launcher.cc:475 (audio_unittests+0x6e2183)
#26 main media/test/run_all_unittests.cc:56 (audio_unittests+0x610e42)
SUMMARY: ThreadSanitizer: data race ??:? in __interceptor_pthread_mutex_lock
Comment 1 by zmo@chromium.org
, Sep 25 2017