Back to build
Raw log | Switch to full mode | Login

Test 'NetworkConnectionTrackerTest.GetConnectionType' completed with the following status(es): 'FAILURE_ON_EXIT','SUCCESS' Test 'NetworkConnectionTrackerTest.GetConnectionType' had the following logs when run: ================================================================================ [ RUN ] NetworkConnectionTrackerTest.GetConnectionType [ OK ] NetworkConnectionTrackerTest.GetConnectionType (22 ms) [ RUN ] NetworkConnectionTrackerTest.GetConnectionTypeUnavailable [ OK ] NetworkConnectionTrackerTest.GetConnectionTypeUnavailable (5 ms) [----------] 2 tests from NetworkConnectionTrackerTest (27 ms total) [----------] 1 test from NetworkGetConnectionTest [ RUN ] NetworkGetConnectionTest.GetConnectionTypeOnDifferentThread [ OK ] NetworkGetConnectionTest.GetConnectionTypeOnDifferentThread (9 ms) [----------] 1 test from NetworkGetConnectionTest (9 ms total) [----------] 3 tests from NetworkStructTraitsTest [ RUN ] NetworkStructTraitsTest.HttpRequestHeaders_Basic [ OK ] NetworkStructTraitsTest.HttpRequestHeaders_Basic (2 ms) [ RUN ] NetworkStructTraitsTest.HttpRequestHeaders_InvalidHeaderName [19739:19739:0521/133146.064768:19753593828:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.067502:19753596553:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.069912:19753598959:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.072311:19753601362:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.074810:19753603860:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.077285:19753606336:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.079721:19753608760:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.081601:19753610656:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.083335:19753612372:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.085027:19753614066:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.086736:19753615775:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.088484:19753617533:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.090254:19753619293:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.092030:19753621068:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.093813:19753622852:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.096089:19753625129:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.097917:19753626956:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.099755:19753628799:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.101479:19753630528:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [ OK ] NetworkStructTraitsTest.HttpRequestHeaders_InvalidHeaderName (41 ms) [ RUN ] NetworkStructTraitsTest.HttpRequestHeaders_InvalidHeaderValue [19739:19739:0521/133146.105236:19753634275:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.107264:19753636304:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.109057:19753638096:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [19739:19739:0521/133146.110761:19753639830:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.TraitsTestService.0 ) [ OK ] NetworkStructTraitsTest.HttpRequestHeaders_InvalidHeaderValue (10 ms) [----------] 3 tests from NetworkStructTraitsTest (53 ms total) [----------] 4 tests from NetworkQualityTrackerTest [ RUN ] NetworkQualityTrackerTest.ECTObserverNotified ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b1800006ed8 by main thread: #0 reset buildtools/third_party/libc++/trunk/include/memory:2649:20 (services_unittests+0x4b5de30) #1 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de30) #2 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de30) #3 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #4 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #5 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #6 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #7 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #8 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #9 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #10 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #11 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #12 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #13 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #14 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #15 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #16 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #17 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #18 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #19 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #20 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #21 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #22 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #23 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #24 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #25 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #26 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #27 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #28 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #29 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #30 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #31 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #32 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #33 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #34 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #35 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous read of size 8 at 0x7b1800006ed8 by thread T12: #0 operator-> buildtools/third_party/libc++/trunk/include/memory:2620:19 (services_unittests+0x4b5d0cb) #1 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0cb) #2 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #3 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #4 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #5 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #6 Run base/callback.h:136:12 (services_unittests+0x27301d3) #7 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #8 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #9 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #10 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #11 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #12 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #13 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #14 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #15 Run base/callback.h:97:12 (services_unittests+0x41846d8) #16 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #17 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #18 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #19 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #20 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #21 Run base/callback.h:97:12 (services_unittests+0x4144145) #22 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #23 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #24 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #25 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #26 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #27 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #28 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #29 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #30 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #31 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #32 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Location is heap block of size 96 at 0x7b1800006ea0 allocated by main thread: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 net::NetworkChangeNotifier::Create() net/base/network_change_notifier.cc:212:10 (services_unittests+0x4b5adaf) #2 CreateNetworkChangeNotifierIfNeeded services/network/network_service.cc:109:29 (services_unittests+0x53489fb) #3 network::NetworkService::Initialize(mojo::StructPtr<network::mojom::NetworkServiceParams>) services/network/network_service.cc:302 (services_unittests+0x53489fb) #4 network::NetworkService::NetworkService(std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >, mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*, mojo::InterfaceRequest<service_manager::mojom::Service>, bool) services/network/network_service.cc:262:5 (services_unittests+0x5348012) #5 std::__1::__unique_if<network::NetworkService>::__unique_single std::__1::make_unique<network::NetworkService, std::nullptr_t, mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*&, mojo::InterfaceRequest<service_manager::mojom::Service> >(std::nullptr_t&&, mojo::InterfaceRequest<network::mojom::NetworkService>&&, net::NetLog*&, mojo::InterfaceRequest<service_manager::mojom::Service>&&) buildtools/third_party/libc++/trunk/include/memory:3131:32 (services_unittests+0x534980d) #6 network::NetworkService::Create(mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*, mojo::InterfaceRequest<service_manager::mojom::Service>) services/network/network_service.cc:363:10 (services_unittests+0x534973d) #7 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:174:9 (services_unittests+0x1d68d71) #8 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #9 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #10 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #11 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #12 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #13 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #14 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #15 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #16 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #17 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #18 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #19 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #20 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #21 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #22 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #23 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #24 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #25 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/memory:2649:20 in reset ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Read of size 8 at 0x7b30000004e8 by main thread: #0 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539:37 (services_unittests+0x272ab8d) #1 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x272ab8d) #2 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x272ab8d) #3 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4b5de46) #4 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4b5de46) #5 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de46) #6 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de46) #7 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de46) #8 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #9 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #10 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #11 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #12 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #13 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #14 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #15 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #16 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #17 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #18 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #19 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #20 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #21 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #22 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #23 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #24 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #25 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #26 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #27 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #28 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #29 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #30 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #31 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #32 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #33 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #34 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #35 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #36 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #37 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #38 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #39 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #40 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b30000004e8 by thread T12 (mutexes: write M868485749241021568): #0 __node_insert_multi_perform buildtools/third_party/libc++/trunk/include/__hash_table:2014:23 (services_unittests+0x272c8b9) #1 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*) buildtools/third_party/libc++/trunk/include/__hash_table:2042 (services_unittests+0x272c8b9) #2 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2187:20 (services_unittests+0x272c3fe) #3 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c3fe) #4 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c3fe) #5 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #6 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #7 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #8 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #9 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #10 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #11 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #12 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #13 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #14 Run base/callback.h:136:12 (services_unittests+0x27301d3) #15 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #16 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #17 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #18 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #19 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #20 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #21 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #22 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #23 Run base/callback.h:97:12 (services_unittests+0x41846d8) #24 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #25 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #26 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #27 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #28 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #29 Run base/callback.h:97:12 (services_unittests+0x4144145) #30 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #31 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #32 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #33 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #34 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #35 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #36 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #37 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #38 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #39 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #40 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Location is heap block of size 184 at 0x7b3000000480 allocated by main thread: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 net::NetworkChangeNotifier::NetworkChangeNotifier(net::NetworkChangeNotifier::NetworkChangeCalculatorParams const&) net/base/network_change_notifier.cc:643:22 (services_unittests+0x4b5cc0f) #2 net::NetworkChangeNotifierLinux::NetworkChangeNotifierLinux(std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) net/base/network_change_notifier_linux.cc:92:7 (services_unittests+0x4b650dc) #3 net::NetworkChangeNotifier::Create() net/base/network_change_notifier.cc:212:14 (services_unittests+0x4b5add7) #4 CreateNetworkChangeNotifierIfNeeded services/network/network_service.cc:109:29 (services_unittests+0x53489fb) #5 network::NetworkService::Initialize(mojo::StructPtr<network::mojom::NetworkServiceParams>) services/network/network_service.cc:302 (services_unittests+0x53489fb) #6 network::NetworkService::NetworkService(std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >, mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*, mojo::InterfaceRequest<service_manager::mojom::Service>, bool) services/network/network_service.cc:262:5 (services_unittests+0x5348012) #7 std::__1::__unique_if<network::NetworkService>::__unique_single std::__1::make_unique<network::NetworkService, std::nullptr_t, mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*&, mojo::InterfaceRequest<service_manager::mojom::Service> >(std::nullptr_t&&, mojo::InterfaceRequest<network::mojom::NetworkService>&&, net::NetLog*&, mojo::InterfaceRequest<service_manager::mojom::Service>&&) buildtools/third_party/libc++/trunk/include/memory:3131:32 (services_unittests+0x534980d) #8 network::NetworkService::Create(mojo::InterfaceRequest<network::mojom::NetworkService>, net::NetLog*, mojo::InterfaceRequest<service_manager::mojom::Service>) services/network/network_service.cc:363:10 (services_unittests+0x534973d) #9 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:174:9 (services_unittests+0x1d68d71) #10 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #11 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #12 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #13 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #14 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #15 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #16 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #17 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #18 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #19 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #20 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #21 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #22 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #23 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #24 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #25 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #26 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #27 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/__hash_table:1539:37 in ~__hash_table ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Read of size 8 at 0x7b140001ca70 by main thread: #0 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1583:39 (services_unittests+0x272aba7) #1 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x272aba7) #2 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x272aba7) #3 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x272aba7) #4 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4b5de46) #5 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4b5de46) #6 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de46) #7 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de46) #8 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de46) #9 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #10 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #11 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #12 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #13 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #14 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #15 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #16 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #17 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #18 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #19 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #20 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #21 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #22 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #23 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #24 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #25 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #26 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #27 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #28 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #29 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #30 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #31 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #32 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #33 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #34 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #35 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #36 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #37 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #38 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #39 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #40 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #41 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b140001ca70 by thread T12 (mutexes: write M868485749241021568): #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x272c421) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x272c421) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x272c421) #4 __construct_node<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2524 (services_unittests+0x272c421) #5 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2186 (services_unittests+0x272c421) #6 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c421) #7 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c421) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #16 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #17 Run base/callback.h:136:12 (services_unittests+0x27301d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #19 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #25 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #26 Run base/callback.h:97:12 (services_unittests+0x41846d8) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #31 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #32 Run base/callback.h:97:12 (services_unittests+0x4144145) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #37 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #40 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #41 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #42 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Location is heap block of size 72 at 0x7b140001ca70 allocated by thread T12: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x272c421) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x272c421) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x272c421) #4 __construct_node<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2524 (services_unittests+0x272c421) #5 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2186 (services_unittests+0x272c421) #6 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c421) #7 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c421) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #16 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #17 Run base/callback.h:136:12 (services_unittests+0x27301d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #19 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #25 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #26 Run base/callback.h:97:12 (services_unittests+0x41846d8) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #31 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #32 Run base/callback.h:97:12 (services_unittests+0x4144145) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #37 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #40 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #41 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #42 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/__hash_table:1583:39 in __deallocate_node ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Read of size 1 at 0x7b140001ca97 by main thread: #0 __is_long buildtools/third_party/libc++/trunk/include/string:1426:39 (services_unittests+0x272abbc) #1 ~basic_string buildtools/third_party/libc++/trunk/include/string:2137 (services_unittests+0x272abbc) #2 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (services_unittests+0x272abbc) #3 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (services_unittests+0x272abbc) #4 __destroy<std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> > buildtools/third_party/libc++/trunk/include/memory:1747 (services_unittests+0x272abbc) #5 destroy<std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> > buildtools/third_party/libc++/trunk/include/memory:1595 (services_unittests+0x272abbc) #6 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1600 (services_unittests+0x272abbc) #7 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x272abbc) #8 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x272abbc) #9 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x272abbc) #10 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4b5de46) #11 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4b5de46) #12 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de46) #13 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de46) #14 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de46) #15 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #20 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #22 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #23 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #24 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #25 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #27 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #28 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #29 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #30 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #31 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #32 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #33 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #34 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #35 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #36 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #37 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #38 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #39 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #40 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #41 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #42 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #43 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #44 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #45 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #46 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #47 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b140001ca90 by thread T12 (mutexes: write M868485749241021568): #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x272c421) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x272c421) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x272c421) #4 __construct_node<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2524 (services_unittests+0x272c421) #5 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2186 (services_unittests+0x272c421) #6 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c421) #7 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c421) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #16 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #17 Run base/callback.h:136:12 (services_unittests+0x27301d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #19 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #25 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #26 Run base/callback.h:97:12 (services_unittests+0x41846d8) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #31 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #32 Run base/callback.h:97:12 (services_unittests+0x4144145) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #37 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #40 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #41 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #42 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Location is heap block of size 72 at 0x7b140001ca70 allocated by thread T12: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1956fdb) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x272c421) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x272c421) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x272c421) #4 __construct_node<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2524 (services_unittests+0x272c421) #5 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2186 (services_unittests+0x272c421) #6 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c421) #7 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c421) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #16 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #17 Run base/callback.h:136:12 (services_unittests+0x27301d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #19 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #25 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #26 Run base/callback.h:97:12 (services_unittests+0x41846d8) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #31 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #32 Run base/callback.h:97:12 (services_unittests+0x4144145) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #37 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #40 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #41 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #42 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/string:1426:39 in __is_long ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b140001ca80 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 __do_call buildtools/third_party/libc++/trunk/include/new:319:12 (services_unittests+0x272abde) #2 __do_deallocate_handle_size buildtools/third_party/libc++/trunk/include/new:277 (services_unittests+0x272abde) #3 __do_deallocate_handle_size_align buildtools/third_party/libc++/trunk/include/new:247 (services_unittests+0x272abde) #4 __libcpp_deallocate buildtools/third_party/libc++/trunk/include/new:325 (services_unittests+0x272abde) #5 deallocate buildtools/third_party/libc++/trunk/include/memory:1816 (services_unittests+0x272abde) #6 deallocate buildtools/third_party/libc++/trunk/include/memory:1554 (services_unittests+0x272abde) #7 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1601 (services_unittests+0x272abde) #8 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x272abde) #9 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x272abde) #10 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x272abde) #11 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4b5de46) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4b5de46) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de46) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de46) #15 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de46) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #17 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #18 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #19 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #20 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #22 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #23 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #24 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #25 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #27 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #28 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #29 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #30 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #31 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #32 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #33 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #34 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #35 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #36 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #37 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #38 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #39 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #40 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #41 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #42 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #43 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #44 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #45 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #46 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #47 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #48 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous read of size 1 at 0x7b140001ca85 by thread T12 (mutexes: write M868485749241021568): #0 operator() base/strings/string_piece.h:536:17 (services_unittests+0x272c71e) #1 operator() net/dns/dns_hosts.h:28 (services_unittests+0x272c71e) #2 operator() buildtools/third_party/libc++/trunk/include/unordered_map:440 (services_unittests+0x272c71e) #3 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*) buildtools/third_party/libc++/trunk/include/__hash_table:2040 (services_unittests+0x272c71e) #4 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2187:20 (services_unittests+0x272c3fe) #5 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c3fe) #6 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c3fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #15 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #16 Run base/callback.h:136:12 (services_unittests+0x27301d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #18 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #24 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #25 Run base/callback.h:97:12 (services_unittests+0x41846d8) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #30 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #31 Run base/callback.h:97:12 (services_unittests+0x4144145) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #36 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #39 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #40 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #41 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b140001ca88 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 __do_call buildtools/third_party/libc++/trunk/include/new:319:12 (services_unittests+0x272abde) #2 __do_deallocate_handle_size buildtools/third_party/libc++/trunk/include/new:277 (services_unittests+0x272abde) #3 __do_deallocate_handle_size_align buildtools/third_party/libc++/trunk/include/new:247 (services_unittests+0x272abde) #4 __libcpp_deallocate buildtools/third_party/libc++/trunk/include/new:325 (services_unittests+0x272abde) #5 deallocate buildtools/third_party/libc++/trunk/include/memory:1816 (services_unittests+0x272abde) #6 deallocate buildtools/third_party/libc++/trunk/include/memory:1554 (services_unittests+0x272abde) #7 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1601 (services_unittests+0x272abde) #8 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x272abde) #9 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x272abde) #10 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x272abde) #11 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4b5de46) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4b5de46) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de46) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de46) #15 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de46) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #17 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #18 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #19 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #20 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #22 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #23 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #24 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #25 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #27 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #28 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #29 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #30 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #31 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #32 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #33 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #34 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #35 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #36 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #37 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #38 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #39 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #40 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #41 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #42 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #43 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #44 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #45 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #46 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #47 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #48 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous read of size 1 at 0x7b140001ca8a by thread T12 (mutexes: write M868485749241021568): #0 operator() base/strings/string_piece.h:536:17 (services_unittests+0x272c787) #1 operator() net/dns/dns_hosts.h:28 (services_unittests+0x272c787) #2 operator() buildtools/third_party/libc++/trunk/include/unordered_map:440 (services_unittests+0x272c787) #3 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*) buildtools/third_party/libc++/trunk/include/__hash_table:2040 (services_unittests+0x272c787) #4 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2187:20 (services_unittests+0x272c3fe) #5 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c3fe) #6 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c3fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #15 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #16 Run base/callback.h:136:12 (services_unittests+0x27301d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #18 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #24 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #25 Run base/callback.h:97:12 (services_unittests+0x41846d8) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #30 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #31 Run base/callback.h:97:12 (services_unittests+0x4144145) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #36 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #39 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #40 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #41 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_ <truncated (942229 bytes)> thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b30000004e0 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b30000004e0 by thread T12 (mutexes: write M868485749241021568): #0 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__rehash(unsigned long) buildtools/third_party/libc++/trunk/include/__hash_table:2406:41 (services_unittests+0x1d4d43c) #1 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::rehash(unsigned long) buildtools/third_party/libc++/trunk/include/__hash_table (services_unittests+0x1d4d2cf) #2 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi_prepare(unsigned long, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>&) buildtools/third_party/libc++/trunk/include/__hash_table:1968:9 (services_unittests+0x272caa9) #3 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*) buildtools/third_party/libc++/trunk/include/__hash_table:2041:27 (services_unittests+0x272c7d6) #4 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2187:20 (services_unittests+0x272c3fe) #5 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c3fe) #6 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c3fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #15 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #16 Run base/callback.h:136:12 (services_unittests+0x27301d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #18 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #24 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #25 Run base/callback.h:97:12 (services_unittests+0x41846d8) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #30 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #31 Run base/callback.h:97:12 (services_unittests+0x4144145) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #36 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #39 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #40 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #41 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b30000004f0 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b30000004f0 by thread T12 (mutexes: write M868485749241021568): #0 __node_insert_multi_perform buildtools/third_party/libc++/trunk/include/__hash_table:2032:5 (services_unittests+0x272c968) #1 std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__node_insert_multi(std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*) buildtools/third_party/libc++/trunk/include/__hash_table:2042 (services_unittests+0x272c968) #2 __emplace_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:2187:20 (services_unittests+0x272c3fe) #3 __insert_multi<const std::__1::pair<const std::__1::pair<std::__1::basic_string<char>, net::AddressFamily>, net::IPAddress> &> buildtools/third_party/libc++/trunk/include/__hash_table:1143 (services_unittests+0x272c3fe) #4 void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::__unordered_map_hasher<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, net::DnsHostsKeyHash, true>, std::__1::__unordered_map_equal<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress> > >::__assign_multi<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress>, void*>*>) buildtools/third_party/libc++/trunk/include/__hash_table:1793 (services_unittests+0x272c3fe) #5 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x272adb3) #6 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272adb3) #7 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adb3) #8 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #9 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #10 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #11 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #12 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #13 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #14 Run base/callback.h:136:12 (services_unittests+0x27301d3) #15 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #16 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #17 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #18 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #19 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #20 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #21 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #22 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #23 Run base/callback.h:97:12 (services_unittests+0x41846d8) #24 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #25 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #26 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #27 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #28 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #29 Run base/callback.h:97:12 (services_unittests+0x4144145) #30 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #31 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #32 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #33 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #34 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #35 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #36 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #37 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #38 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #39 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #40 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b30000004f8 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 4 at 0x7b30000004f8 by thread T12 (mutexes: write M868485749241021568): #0 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1569:27 (services_unittests+0x272ad98) #1 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x272ad98) #2 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272ad98) #3 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #4 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #5 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #6 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #7 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #8 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #9 Run base/callback.h:136:12 (services_unittests+0x27301d3) #10 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #11 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #12 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #13 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #14 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #15 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #16 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #17 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #18 Run base/callback.h:97:12 (services_unittests+0x41846d8) #19 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #20 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #21 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #22 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #23 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #24 Run base/callback.h:97:12 (services_unittests+0x4144145) #25 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #26 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #27 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #28 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #29 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #30 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #31 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #32 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #33 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #34 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #35 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b3000000500 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b3000000500 by thread T12 (mutexes: write M868485749241021568): #0 memcpy /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:801:5 (services_unittests+0x18f1f07) #1 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31:55 (services_unittests+0x272adc5) #2 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #3 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #4 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #5 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #6 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #7 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #8 Run base/callback.h:136:12 (services_unittests+0x27301d3) #9 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #10 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #11 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #12 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #13 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #14 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #15 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #16 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #17 Run base/callback.h:97:12 (services_unittests+0x41846d8) #18 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #19 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #20 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #21 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #22 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #23 Run base/callback.h:97:12 (services_unittests+0x4144145) #24 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #25 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #26 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #27 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #28 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #29 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #30 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #31 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #32 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #33 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #34 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b3000000518 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous read of size 8 at 0x7b3000000518 by thread T12 (mutexes: write M868485749241021568): #0 capacity buildtools/third_party/libc++/trunk/include/vector:372:54 (services_unittests+0x272cd86) #1 capacity buildtools/third_party/libc++/trunk/include/vector:659 (services_unittests+0x272cd86) #2 std::__1::enable_if<(__is_forward_iterator<net::DnsConfig::DnsOverHttpsServerConfig*>::value) && (is_constructible<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::iterator_traits<net::DnsConfig::DnsOverHttpsServerConfig*>::reference>::value), void>::type std::__1::vector<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::allocator<net::DnsConfig::DnsOverHttpsServerConfig> >::assign<net::DnsConfig::DnsOverHttpsServerConfig*>(net::DnsConfig::DnsOverHttpsServerConfig*, net::DnsConfig::DnsOverHttpsServerConfig*) buildtools/third_party/libc++/trunk/include/vector:1439 (services_unittests+0x272cd86) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x272adee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #10 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #11 Run base/callback.h:136:12 (services_unittests+0x27301d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #13 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #19 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #20 Run base/callback.h:97:12 (services_unittests+0x41846d8) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #25 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #26 Run base/callback.h:97:12 (services_unittests+0x4144145) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #31 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #34 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #35 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #36 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b3000000520 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 8 at 0x7b3000000520 by thread T12 (mutexes: write M868485749241021568): #0 __destruct_at_end buildtools/third_party/libc++/trunk/include/vector:427:12 (services_unittests+0x272cf34) #1 __destruct_at_end buildtools/third_party/libc++/trunk/include/vector:833 (services_unittests+0x272cf34) #2 std::__1::enable_if<(__is_forward_iterator<net::DnsConfig::DnsOverHttpsServerConfig*>::value) && (is_constructible<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::iterator_traits<net::DnsConfig::DnsOverHttpsServerConfig*>::reference>::value), void>::type std::__1::vector<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::allocator<net::DnsConfig::DnsOverHttpsServerConfig> >::assign<net::DnsConfig::DnsOverHttpsServerConfig*>(net::DnsConfig::DnsOverHttpsServerConfig*, net::DnsConfig::DnsOverHttpsServerConfig*) buildtools/third_party/libc++/trunk/include/vector:1453 (services_unittests+0x272cf34) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x272adee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #10 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #11 Run base/callback.h:136:12 (services_unittests+0x27301d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #13 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #19 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #20 Run base/callback.h:97:12 (services_unittests+0x41846d8) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #25 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #26 Run base/callback.h:97:12 (services_unittests+0x4144145) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #31 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #34 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #35 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #36 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b3000000528 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous read of size 8 at 0x7b3000000528 by thread T12 (mutexes: write M868485749241021568): #0 capacity buildtools/third_party/libc++/trunk/include/vector:372:40 (services_unittests+0x272cd7a) #1 capacity buildtools/third_party/libc++/trunk/include/vector:659 (services_unittests+0x272cd7a) #2 std::__1::enable_if<(__is_forward_iterator<net::DnsConfig::DnsOverHttpsServerConfig*>::value) && (is_constructible<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::iterator_traits<net::DnsConfig::DnsOverHttpsServerConfig*>::reference>::value), void>::type std::__1::vector<net::DnsConfig::DnsOverHttpsServerConfig, std::__1::allocator<net::DnsConfig::DnsOverHttpsServerConfig> >::assign<net::DnsConfig::DnsOverHttpsServerConfig*>(net::DnsConfig::DnsOverHttpsServerConfig*, net::DnsConfig::DnsOverHttpsServerConfig*) buildtools/third_party/libc++/trunk/include/vector:1439 (services_unittests+0x272cd7a) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x272adee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x272adee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4b5d0e3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0e3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #10 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #11 Run base/callback.h:136:12 (services_unittests+0x27301d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #13 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #19 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #20 Run base/callback.h:97:12 (services_unittests+0x41846d8) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #25 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #26 Run base/callback.h:97:12 (services_unittests+0x4144145) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #31 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #34 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #35 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #36 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=19739) Write of size 8 at 0x7b3000000530 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x195772e) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4b5de56) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4b5de56) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4b5de56) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4b5de56) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65334) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4b65369) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x530d45f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x530d45f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x530d45f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x530d45f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x530d4c9) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x534927d) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x534927d) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x534927d) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:353 (services_unittests+0x534927d) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:336:35 (services_unittests+0x5349689) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1d683a7) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1d683a7) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1d683a7) #20 ~NetworkQualityTrackerTest services/network/public/cpp/network_quality_tracker_unittest.cc:185 (services_unittests+0x1d683a7) #21 network::NetworkQualityTrackerTest_ECTObserverNotified_Test::~NetworkQualityTrackerTest_ECTObserverNotified_Test() services/network/public/cpp/network_quality_tracker_unittest.cc:222 (services_unittests+0x1d683a7) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1dd2e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2a1dd2e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #33 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #34 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) Previous write of size 1 at 0x7b3000000530 by thread T12 (mutexes: write M868485749241021568): #0 SetDnsConfig net/base/network_change_notifier.cc:79:10 (services_unittests+0x4b5d0f6) #1 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4b5d0f6) #2 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4b654d4) #3 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4b654d4) #4 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4b654d4) #5 base::internal::Invoker<base::internal::BindState<void (*)(net::DnsConfig const&)>, void (net::DnsConfig const&)>::Run(base::internal::BindStateBase*, net::DnsConfig const&) base/bind_internal.h:654 (services_unittests+0x4b654d4) #6 Run base/callback.h:136:12 (services_unittests+0x27301d3) #7 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x27301d3) #8 net::DnsConfigService::OnHostsRead(std::__1::unordered_map<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily>, net::IPAddress, net::DnsHostsKeyHash, std::__1::equal_to<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> >, std::__1::allocator<std::__1::pair<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, net::AddressFamily> const, net::IPAddress> > > const&) net/dns/dns_config_service.cc:108 (services_unittests+0x27301d3) #9 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x2764d2c) #10 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x27629fb) #11 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x2762caa) #12 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x2762caa) #13 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x2762caa) #14 base::internal::Invoker<base::internal::BindState<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x2762caa) #15 Run base/callback.h:97:12 (services_unittests+0x41846d8) #16 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x41846d8) #17 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x41847c7) #18 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x41847c7) #19 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x41847c7) #20 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x41847c7) #21 Run base/callback.h:97:12 (services_unittests+0x4144145) #22 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:143 (services_unittests+0x4144145) #23 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:744:19 (services_unittests+0x4167561) #24 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:762:7 (services_unittests+0x41670de) #25 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:593 (services_unittests+0x41670de) #26 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker_posix.cc:24:16 (services_unittests+0x41da00f) #27 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:689:46 (services_unittests+0x51e50c8) #28 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:454:5 (services_unittests+0x41668f2) #29 base::internal::WorkerThread::RunWorker() base/task/thread_pool/worker_thread.cc:320:34 (services_unittests+0x41769d0) #30 base::internal::WorkerThread::RunPooledWorker() base/task/thread_pool/worker_thread.cc:222:3 (services_unittests+0x4176601) #31 base::internal::WorkerThread::ThreadMain() base/task/thread_pool/worker_thread.cc:201:7 (services_unittests+0x417646f) #32 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x41daa74) Mutex M868485749241021568 is already destroyed. Thread T12 'ThreadPoolForeg' (tid=19813, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:989:3 (services_unittests+0x18e7c5b) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (services_unittests+0x41da567) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x41da465) #3 base::internal::WorkerThread::Start(base::WorkerThreadObserver*) base/task/thread_pool/worker_thread.cc:68:3 (services_unittests+0x417600d) #4 operator() base/task/thread_pool/thread_group_impl.cc:185:15 (services_unittests+0x416e15b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/thread_group_impl.cc:184:37)> base/task/thread_pool/thread_group_impl.cc:150 (services_unittests+0x416e15b) #6 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/thread_group_impl.cc:184 (services_unittests+0x416e15b) #7 base::internal::ThreadGroupImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/thread_group_impl.cc:103:30 (services_unittests+0x416ac24) #8 base::internal::ThreadGroupImpl::Start(int, int, base::TimeDelta, scoped_refptr<base::TaskRunner>, base::WorkerThreadObserver*, base::internal::ThreadGroup::WorkerEnvironment, base::Optional<base::TimeDelta>) base/task/thread_pool/thread_group_impl.cc:425:1 (services_unittests+0x416abc9) #9 base::internal::ThreadPoolImpl::Start(base::ThreadPool::InitParams const&, base::WorkerThreadObserver*) base/task/thread_pool/thread_pool_impl.cc:192:11 (services_unittests+0x4163275) #10 base::test::ScopedTaskEnvironment::InitializeThreadPool() base/test/scoped_task_environment.cc:411:30 (services_unittests+0x51e45df) #11 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment(base::test::ScopedTaskEnvironment::MainThreadType, base::test::ScopedTaskEnvironment::ThreadPoolExecutionMode, base::test::ScopedTaskEnvironment::NowSource, base::test::ScopedTaskEnvironment::ThreadingMode, bool, base::trait_helpers::NotATraitTag) base/test/scoped_task_environment.cc:375:5 (services_unittests+0x51e4023) #12 base::test::ScopedTaskEnvironment::ScopedTaskEnvironment<void>() base/test/scoped_task_environment.h:161:9 (services_unittests+0x1958d08) #13 network::NetworkQualityTrackerTest::NetworkQualityTrackerTest() services/network/public/cpp/network_quality_tracker_unittest.cc:169:3 (services_unittests+0x1d68c81) #14 NetworkQualityTrackerTest_ECTObserverNotified_Test services/network/public/cpp/network_quality_tracker_unittest.cc:222:1 (services_unittests+0x1d68c04) #15 testing::internal::TestFactoryImpl<network::NetworkQualityTrackerTest_ECTObserverNotified_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1d68c04) #16 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a1daef) #17 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2a1daef) #18 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2a1e876) #19 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2a30c66) #20 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2a300c9) #21 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2a300c9) #22 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2453:46 (services_unittests+0x51e9812) #23 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x51e9812) #24 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1dd0818) #25 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1dd0818) #26 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1dd0818) #27 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, int ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x1dd0818) #28 Run base/callback.h:97:12 (services_unittests+0x51f2dad) #29 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:158 (services_unittests+0x51f2dad) #30 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:508:10 (services_unittests+0x51f2c10) #31 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1dd044f) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== [ OK ] NetworkQualityTrackerTest.ECTObserverNotified (1712 ms) [ RUN ] NetworkQualityTrackerTest.ECTObserverNotifiedUnknown [ OK ] NetworkQualityTrackerTest.ECTObserverNotifiedUnknown (37 ms) [ RUN ] NetworkQualityTrackerTest.RttThroughputObserverNotified [ OK ] NetworkQualityTrackerTest.RttThroughputObserverNotified (18 ms) [ RUN ] NetworkQualityTrackerTest.ECTObserverNotifiedOnAddition [ OK ] NetworkQualityTrackerTest.ECTObserverNotifiedOnAddition (18 ms) [----------] 4 tests from NetworkQualityTrackerTest (1786 ms total) [----------] Global test environment tear-down [==========] 10 tests from 4 test suites ran. (1877 ms total) [ PASSED ] 10 tests. ThreadSanitizer: reported 41 warnings ThreadSanitizer: Matched 2 suppressions (pid=19739): 2 race:net::(anonymous namespace)::g_network_change_notifier [ RUN ] NetworkConnectionTrackerTest.GetConnectionType [ OK ] NetworkConnectionTrackerTest.GetConnectionType (13 ms) ================================================================================