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

Test 'NetworkServiceSSLConfigServiceTest.Default' completed with the following status(es): 'FAILURE_ON_EXIT','FAILURE_ON_EXIT','SUCCESS' Test 'NetworkServiceSSLConfigServiceTest.Default' had the following logs when run: ================================================================================ [ RUN ] NetworkServiceSSLConfigServiceTest.Default [ OK ] NetworkServiceSSLConfigServiceTest.Default (59 ms) [ RUN ] NetworkServiceSSLConfigServiceTest.DefaultCertConfig [ OK ] NetworkServiceSSLConfigServiceTest.DefaultCertConfig (51 ms) [ RUN ] NetworkServiceSSLConfigServiceTest.RevCheckingEnabled [ OK ] NetworkServiceSSLConfigServiceTest.RevCheckingEnabled (27 ms) [ RUN ] NetworkServiceSSLConfigServiceTest.RevCheckingRequiredLocalTrustAnchors [ OK ] NetworkServiceSSLConfigServiceTest.RevCheckingRequiredLocalTrustAnchors (51 ms) [ RUN ] NetworkServiceSSLConfigServiceTest.Sha1LocalAnchorsEnabled [ OK ] NetworkServiceSSLConfigServiceTest.Sha1LocalAnchorsEnabled (44 ms) [ RUN ] NetworkServiceSSLConfigServiceTest.SymantecEnforcementDisabled [ OK ] NetworkServiceSSLConfigServiceTest.SymantecEnforcementDisabled (15 ms) [----------] 7 tests from NetworkServiceSSLConfigServiceTest (2227 ms total) [----------] Global test environment tear-down [==========] 10 tests from 2 test suites ran. (2429 ms total) [ PASSED ] 10 tests. ThreadSanitizer: reported 43 warnings ThreadSanitizer: Matched 2 suppressions (pid=9398): 2 race:net::(anonymous namespace)::g_network_change_notifier [ RUN ] NetworkServiceSSLConfigServiceTest.Default ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b1800006d58 by main thread: #0 reset buildtools/third_party/libc++/trunk/include/memory:2649:20 (services_unittests+0x4e3b800) #1 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b800) #2 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b800) #3 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #4 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #5 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #6 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #7 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #8 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #9 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #10 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #11 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #12 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #13 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #14 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #15 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #16 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #17 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #18 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #19 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #20 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #21 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #22 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #23 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #24 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #25 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #26 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #27 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #28 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #29 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #30 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #32 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #33 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #34 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #35 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous read of size 8 at 0x7b1800006d58 by thread T6: #0 operator-> buildtools/third_party/libc++/trunk/include/memory:2620:19 (services_unittests+0x4e3aa9b) #1 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aa9b) #2 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #3 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #4 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #6 Run base/callback.h:136:12 (services_unittests+0x29935d3) #7 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #9 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #10 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #11 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #12 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #13 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #15 Run base/callback.h:97:12 (services_unittests+0x4424378) #16 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #17 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #18 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #19 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #21 Run base/callback.h:97:12 (services_unittests+0x43e442b) #22 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #23 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #24 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #25 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #27 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #28 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #29 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #30 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #31 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #32 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Location is heap block of size 96 at 0x7b1800006d20 allocated by main thread: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 net::NetworkChangeNotifier::Create() net/base/network_change_notifier.cc:212:10 (services_unittests+0x4e3877f) #2 CreateNetworkChangeNotifierIfNeeded services/network/network_service.cc:108:29 (services_unittests+0x5ed9033) #3 network::NetworkService::Initialize(mojo::StructPtr<network::mojom::NetworkServiceParams>) services/network/network_service.cc:285 (services_unittests+0x5ed9033) #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:245:5 (services_unittests+0x5ed89f3) #5 std::__1::__unique_if<network::NetworkService>::__unique_single std::__1::make_unique<network::NetworkService, std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >, std::nullptr_t, std::nullptr_t, mojo::InterfaceRequest<service_manager::mojom::Service> >(std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >&&, std::nullptr_t&&, std::nullptr_t&&, mojo::InterfaceRequest<service_manager::mojom::Service>&&) buildtools/third_party/libc++/trunk/include/memory:3131:32 (services_unittests+0x5ed9ff4) #6 network::NetworkService::CreateForTesting(mojo::InterfaceRequest<service_manager::mojom::Service>) services/network/network_service.cc:370:10 (services_unittests+0x5ed9f05) #7 network::NetworkService::CreateForTesting() services/network/network_service.cc:365:10 (services_unittests+0x5ed9e54) #8 NetworkServiceSSLConfigServiceTest services/network/ssl_config_service_mojo_unittest.cc:149:26 (services_unittests+0x1df5113) #9 NetworkServiceSSLConfigServiceTest_Default_Test services/network/ssl_config_service_mojo_unittest.cc:283 (services_unittests+0x1df5113) #10 testing::internal::TestFactoryImpl<network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1df5113) #11 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d91e3f) #12 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2d91e3f) #13 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #14 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #15 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #16 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #17 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #18 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #19 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #20 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #21 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #22 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+0x1fc3378) #23 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #24 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #25 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #26 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/memory:2649:20 in reset ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Read of size 8 at 0x7b3000000428 by main thread: #0 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539:37 (services_unittests+0x298df8d) #1 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x298df8d) #2 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x298df8d) #3 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4e3b816) #4 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4e3b816) #5 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b816) #6 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b816) #7 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b816) #8 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #9 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #10 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #11 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #12 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #13 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #14 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #15 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #16 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #17 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #18 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #19 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #20 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #21 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #22 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #23 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #24 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #25 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #26 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #27 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #28 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #29 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #30 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #31 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #32 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #33 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #34 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #35 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #37 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #38 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #39 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #40 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b3000000428 by thread T6 (mutexes: write M13083295017337792): #0 __node_insert_multi_perform buildtools/third_party/libc++/trunk/include/__hash_table:2014:23 (services_unittests+0x298fcb9) #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+0x298fcb9) #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+0x298f7fe) #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+0x298f7fe) #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+0x298f7fe) #5 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #6 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #7 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #8 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #9 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #10 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #11 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #12 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #14 Run base/callback.h:136:12 (services_unittests+0x29935d3) #15 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #17 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #18 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #19 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #20 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #21 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #23 Run base/callback.h:97:12 (services_unittests+0x4424378) #24 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #25 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #26 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #27 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #29 Run base/callback.h:97:12 (services_unittests+0x43e442b) #30 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #31 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #32 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #33 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #35 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #36 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #37 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #38 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #39 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #40 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Location is heap block of size 184 at 0x7b30000003c0 allocated by main thread: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 net::NetworkChangeNotifier::NetworkChangeNotifier(net::NetworkChangeNotifier::NetworkChangeCalculatorParams const&) net/base/network_change_notifier.cc:643:22 (services_unittests+0x4e3a5df) #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+0x4e42aac) #3 net::NetworkChangeNotifier::Create() net/base/network_change_notifier.cc:212:14 (services_unittests+0x4e387a7) #4 CreateNetworkChangeNotifierIfNeeded services/network/network_service.cc:108:29 (services_unittests+0x5ed9033) #5 network::NetworkService::Initialize(mojo::StructPtr<network::mojom::NetworkServiceParams>) services/network/network_service.cc:285 (services_unittests+0x5ed9033) #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:245:5 (services_unittests+0x5ed89f3) #7 std::__1::__unique_if<network::NetworkService>::__unique_single std::__1::make_unique<network::NetworkService, std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >, std::nullptr_t, std::nullptr_t, mojo::InterfaceRequest<service_manager::mojom::Service> >(std::__1::unique_ptr<service_manager::BinderRegistryWithArgs<>, std::__1::default_delete<service_manager::BinderRegistryWithArgs<> > >&&, std::nullptr_t&&, std::nullptr_t&&, mojo::InterfaceRequest<service_manager::mojom::Service>&&) buildtools/third_party/libc++/trunk/include/memory:3131:32 (services_unittests+0x5ed9ff4) #8 network::NetworkService::CreateForTesting(mojo::InterfaceRequest<service_manager::mojom::Service>) services/network/network_service.cc:370:10 (services_unittests+0x5ed9f05) #9 network::NetworkService::CreateForTesting() services/network/network_service.cc:365:10 (services_unittests+0x5ed9e54) #10 NetworkServiceSSLConfigServiceTest services/network/ssl_config_service_mojo_unittest.cc:149:26 (services_unittests+0x1df5113) #11 NetworkServiceSSLConfigServiceTest_Default_Test services/network/ssl_config_service_mojo_unittest.cc:283 (services_unittests+0x1df5113) #12 testing::internal::TestFactoryImpl<network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:460 (services_unittests+0x1df5113) #13 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d91e3f) #14 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2688 (services_unittests+0x2d91e3f) #15 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #16 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #17 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #18 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #19 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #20 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #21 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #22 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #23 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #24 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+0x1fc3378) #25 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #26 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #27 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #28 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/__hash_table:1539:37 in ~__hash_table ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Read of size 8 at 0x7b140001c980 by main thread: #0 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1583:39 (services_unittests+0x298dfa7) #1 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x298dfa7) #2 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x298dfa7) #3 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x298dfa7) #4 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4e3b816) #5 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4e3b816) #6 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b816) #7 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b816) #8 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b816) #9 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #10 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #11 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #12 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #13 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #14 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #15 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #16 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #17 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #18 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #19 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #20 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #21 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #22 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #23 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #24 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #25 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #26 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #27 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #28 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #29 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #30 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #31 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #32 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #33 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #34 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #35 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #36 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #38 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #39 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #40 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #41 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b140001c980 by thread T6 (mutexes: write M13083295017337792): #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x298f821) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x298f821) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #17 Run base/callback.h:136:12 (services_unittests+0x29935d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #26 Run base/callback.h:97:12 (services_unittests+0x4424378) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #32 Run base/callback.h:97:12 (services_unittests+0x43e442b) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #40 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #41 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #42 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Location is heap block of size 72 at 0x7b140001c980 allocated by thread T6: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x298f821) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x298f821) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #17 Run base/callback.h:136:12 (services_unittests+0x29935d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #26 Run base/callback.h:97:12 (services_unittests+0x4424378) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #32 Run base/callback.h:97:12 (services_unittests+0x43e442b) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #40 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #41 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #42 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/__hash_table:1583:39 in __deallocate_node ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Read of size 1 at 0x7b140001c9a7 by main thread: #0 __is_long buildtools/third_party/libc++/trunk/include/string:1426:39 (services_unittests+0x298dfbc) #1 ~basic_string buildtools/third_party/libc++/trunk/include/string:2137 (services_unittests+0x298dfbc) #2 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (services_unittests+0x298dfbc) #3 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (services_unittests+0x298dfbc) #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+0x298dfbc) #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+0x298dfbc) #6 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1600 (services_unittests+0x298dfbc) #7 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x298dfbc) #8 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x298dfbc) #9 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x298dfbc) #10 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4e3b816) #11 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4e3b816) #12 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b816) #13 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b816) #14 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b816) #15 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #20 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #22 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #23 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #24 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #25 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #27 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #28 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #29 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #30 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #31 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #32 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #33 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #34 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #35 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #36 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #37 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #38 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #39 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #40 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #41 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #42 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #44 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #45 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #46 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #47 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b140001c9a0 by thread T6 (mutexes: write M13083295017337792): #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x298f821) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x298f821) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #17 Run base/callback.h:136:12 (services_unittests+0x29935d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #26 Run base/callback.h:97:12 (services_unittests+0x4424378) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #32 Run base/callback.h:97:12 (services_unittests+0x43e442b) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #40 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #41 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #42 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Location is heap block of size 72 at 0x7b140001c980 allocated by thread T6: #0 operator new(unsigned long) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:64:3 (services_unittests+0x1b48c5b) #1 __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:238:10 (services_unittests+0x298f821) #2 allocate buildtools/third_party/libc++/trunk/include/memory:1813 (services_unittests+0x298f821) #3 allocate buildtools/third_party/libc++/trunk/include/memory:1546 (services_unittests+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #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+0x298f821) #8 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #9 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #10 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #11 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #12 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #13 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #14 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #15 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #17 Run base/callback.h:136:12 (services_unittests+0x29935d3) #18 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #20 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #21 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #22 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #23 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #24 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #26 Run base/callback.h:97:12 (services_unittests+0x4424378) #27 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #28 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #29 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #30 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #32 Run base/callback.h:97:12 (services_unittests+0x43e442b) #33 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #34 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #35 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #36 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #38 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #39 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #40 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #41 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #42 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/string:1426:39 in __is_long ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b140001c990 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 __do_call buildtools/third_party/libc++/trunk/include/new:319:12 (services_unittests+0x298dfde) #2 __do_deallocate_handle_size buildtools/third_party/libc++/trunk/include/new:277 (services_unittests+0x298dfde) #3 __do_deallocate_handle_size_align buildtools/third_party/libc++/trunk/include/new:247 (services_unittests+0x298dfde) #4 __libcpp_deallocate buildtools/third_party/libc++/trunk/include/new:325 (services_unittests+0x298dfde) #5 deallocate buildtools/third_party/libc++/trunk/include/memory:1816 (services_unittests+0x298dfde) #6 deallocate buildtools/third_party/libc++/trunk/include/memory:1554 (services_unittests+0x298dfde) #7 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1601 (services_unittests+0x298dfde) #8 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x298dfde) #9 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x298dfde) #10 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x298dfde) #11 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4e3b816) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4e3b816) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b816) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b816) #15 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b816) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #17 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #18 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #19 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #20 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #22 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #23 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #24 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #25 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #27 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #28 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #29 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #30 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #31 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #32 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #33 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #34 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #35 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #36 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #37 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #38 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #39 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #40 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #41 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #42 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #43 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #45 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #46 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #47 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #48 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous read of size 1 at 0x7b140001c994 by thread T6 (mutexes: write M13083295017337792): #0 operator() base/strings/string_piece.h:536:17 (services_unittests+0x298fb06) #1 operator() net/dns/dns_hosts.h:28 (services_unittests+0x298fb06) #2 operator() buildtools/third_party/libc++/trunk/include/unordered_map:440 (services_unittests+0x298fb06) #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+0x298fb06) #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+0x298f7fe) #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+0x298f7fe) #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+0x298f7fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #16 Run base/callback.h:136:12 (services_unittests+0x29935d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #25 Run base/callback.h:97:12 (services_unittests+0x4424378) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #31 Run base/callback.h:97:12 (services_unittests+0x43e442b) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #39 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #40 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #41 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b140001c998 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 __do_call buildtools/third_party/libc++/trunk/include/new:319:12 (services_unittests+0x298dfde) #2 __do_deallocate_handle_size buildtools/third_party/libc++/trunk/include/new:277 (services_unittests+0x298dfde) #3 __do_deallocate_handle_size_align buildtools/third_party/libc++/trunk/include/new:247 (services_unittests+0x298dfde) #4 __libcpp_deallocate buildtools/third_party/libc++/trunk/include/new:325 (services_unittests+0x298dfde) #5 deallocate buildtools/third_party/libc++/trunk/include/memory:1816 (services_unittests+0x298dfde) #6 deallocate buildtools/third_party/libc++/trunk/include/memory:1554 (services_unittests+0x298dfde) #7 __deallocate_node buildtools/third_party/libc++/trunk/include/__hash_table:1601 (services_unittests+0x298dfde) #8 ~__hash_table buildtools/third_party/libc++/trunk/include/__hash_table:1539 (services_unittests+0x298dfde) #9 ~unordered_map buildtools/third_party/libc++/trunk/include/unordered_map:968 (services_unittests+0x298dfde) #10 net::DnsConfig::~DnsConfig() net/dns/dns_config.cc:29 (services_unittests+0x298dfde) #11 ~NetworkState net/base/network_change_notifier.cc:68:27 (services_unittests+0x4e3b816) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338 (services_unittests+0x4e3b816) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b816) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b816) #15 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b816) #16 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #17 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #18 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #19 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #20 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #21 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #22 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #23 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #24 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #25 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #26 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #27 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #28 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #29 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #30 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #31 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #32 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #33 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #34 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #35 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #36 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #37 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #38 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #39 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #40 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #41 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #42 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #43 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #45 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #46 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #47 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #48 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous read of size 1 at 0x7b140001c999 by thread T6 (mutexes: write M13083295017337792): #0 operator() base/strings/string_piece.h:536:17 (services_unittests+0x298fb87) #1 operator() net/dns/dns_hosts.h:28 (services_unittests+0x298fb87) #2 operator() buildtools/third_party/libc++/trunk/include/unordered_map:440 (services_unittests+0x298fb87) #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+0x298fb87) #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+0x298f7fe) #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+0x298f7fe) #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+0x298f7fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #16 Run base/callback.h:136:12 (services_unittests+0x29935d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #25 Run base/callback.h:97:12 (services_unittests+0x4424378) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #31 Run base/callback.h:97:12 (services_unittests+0x43e442b) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #39 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #40 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #41 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() ba <truncated (962624 bytes)> 25 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b3000000420 by thread T6 (mutexes: write M13083295017337792): #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+0x1f4289c) #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+0x1f4272f) #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+0x298fea9) #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+0x298fbd6) #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+0x298f7fe) #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+0x298f7fe) #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+0x298f7fe) #7 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #8 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #9 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #10 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #11 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #12 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #13 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #14 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #16 Run base/callback.h:136:12 (services_unittests+0x29935d3) #17 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #19 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #20 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #21 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #22 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #23 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #25 Run base/callback.h:97:12 (services_unittests+0x4424378) #26 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #27 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #28 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #29 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #31 Run base/callback.h:97:12 (services_unittests+0x43e442b) #32 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #33 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #34 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #35 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #37 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #38 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #39 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #40 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #41 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000430 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b3000000430 by thread T6 (mutexes: write M13083295017337792): #0 __node_insert_multi_perform buildtools/third_party/libc++/trunk/include/__hash_table:2032:5 (services_unittests+0x298fd68) #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+0x298fd68) #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+0x298f7fe) #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+0x298f7fe) #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+0x298f7fe) #5 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1570:9 (services_unittests+0x298e1b3) #6 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e1b3) #7 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1b3) #8 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #9 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #10 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #11 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #12 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #14 Run base/callback.h:136:12 (services_unittests+0x29935d3) #15 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #17 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #18 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #19 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #20 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #21 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #23 Run base/callback.h:97:12 (services_unittests+0x4424378) #24 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #25 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #26 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #27 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #29 Run base/callback.h:97:12 (services_unittests+0x43e442b) #30 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #31 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #32 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #33 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #35 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #36 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #37 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #38 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #39 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #40 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000438 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 4 at 0x7b3000000438 by thread T6 (mutexes: write M13083295017337792): #0 operator= buildtools/third_party/libc++/trunk/include/__hash_table:1569:27 (services_unittests+0x298e198) #1 operator= buildtools/third_party/libc++/trunk/include/unordered_map:974 (services_unittests+0x298e198) #2 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e198) #3 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #4 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #5 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #6 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #7 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #9 Run base/callback.h:136:12 (services_unittests+0x29935d3) #10 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #12 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #13 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #14 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #15 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #16 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #18 Run base/callback.h:97:12 (services_unittests+0x4424378) #19 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #20 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #21 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #22 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #24 Run base/callback.h:97:12 (services_unittests+0x43e442b) #25 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #26 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #27 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #28 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #30 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #31 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #32 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #33 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #34 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #35 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000440 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b3000000440 by thread T6 (mutexes: write M13083295017337792): #0 memcpy /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:801:5 (services_unittests+0x1ae3307) #1 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31:55 (services_unittests+0x298e1c5) #2 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #3 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #4 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #5 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #6 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #8 Run base/callback.h:136:12 (services_unittests+0x29935d3) #9 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #11 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #12 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #13 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #14 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #15 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #17 Run base/callback.h:97:12 (services_unittests+0x4424378) #18 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #19 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #20 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #21 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #23 Run base/callback.h:97:12 (services_unittests+0x43e442b) #24 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #25 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #26 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #27 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #29 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #30 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #31 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #32 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #33 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #34 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000458 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous read of size 8 at 0x7b3000000458 by thread T6 (mutexes: write M13083295017337792): #0 capacity buildtools/third_party/libc++/trunk/include/vector:372:54 (services_unittests+0x2990186) #1 capacity buildtools/third_party/libc++/trunk/include/vector:659 (services_unittests+0x2990186) #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+0x2990186) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x298e1ee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1ee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #11 Run base/callback.h:136:12 (services_unittests+0x29935d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #20 Run base/callback.h:97:12 (services_unittests+0x4424378) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #26 Run base/callback.h:97:12 (services_unittests+0x43e442b) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #34 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #35 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #36 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000460 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 8 at 0x7b3000000460 by thread T6 (mutexes: write M13083295017337792): #0 __destruct_at_end buildtools/third_party/libc++/trunk/include/vector:427:12 (services_unittests+0x2990334) #1 __destruct_at_end buildtools/third_party/libc++/trunk/include/vector:833 (services_unittests+0x2990334) #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+0x2990334) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x298e1ee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1ee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #11 Run base/callback.h:136:12 (services_unittests+0x29935d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #20 Run base/callback.h:97:12 (services_unittests+0x4424378) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #26 Run base/callback.h:97:12 (services_unittests+0x43e442b) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #34 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #35 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #36 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000468 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous read of size 8 at 0x7b3000000468 by thread T6 (mutexes: write M13083295017337792): #0 capacity buildtools/third_party/libc++/trunk/include/vector:372:40 (services_unittests+0x299017a) #1 capacity buildtools/third_party/libc++/trunk/include/vector:659 (services_unittests+0x299017a) #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+0x299017a) #3 operator= buildtools/third_party/libc++/trunk/include/vector:1403:9 (services_unittests+0x298e1ee) #4 net::DnsConfig::operator=(net::DnsConfig const&) net/dns/dns_config.cc:31 (services_unittests+0x298e1ee) #5 SetDnsConfig net/base/network_change_notifier.cc:77:17 (services_unittests+0x4e3aab3) #6 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aab3) #7 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #8 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #9 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #11 Run base/callback.h:136:12 (services_unittests+0x29935d3) #12 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #14 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #15 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #16 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #17 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #18 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #20 Run base/callback.h:97:12 (services_unittests+0x4424378) #21 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #22 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #23 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #24 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #26 Run base/callback.h:97:12 (services_unittests+0x43e442b) #27 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #28 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #29 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #30 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #32 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #33 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #34 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #35 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #36 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #37 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=16724) Write of size 8 at 0x7b3000000470 by main thread: #0 operator delete(void*) /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 (services_unittests+0x1b493ae) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x4e3b826) #2 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x4e3b826) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x4e3b826) #4 net::NetworkChangeNotifier::~NetworkChangeNotifier() net/base/network_change_notifier.cc:181 (services_unittests+0x4e3b826) #5 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d04) #6 net::NetworkChangeNotifierLinux::~NetworkChangeNotifierLinux() net/base/network_change_notifier_linux.cc:110:57 (services_unittests+0x4e42d39) #7 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5e9e71f) #8 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5e9e71f) #9 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5e9e71f) #10 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:27 (services_unittests+0x5e9e71f) #11 network::NetworkChangeManager::~NetworkChangeManager() services/network/network_change_manager.cc:25:47 (services_unittests+0x5e9e789) #12 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x5ed9811) #13 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x5ed9811) #14 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x5ed9811) #15 network::NetworkService::~NetworkService() services/network/network_service.cc:336 (services_unittests+0x5ed9811) #16 network::NetworkService::~NetworkService() services/network/network_service.cc:319:35 (services_unittests+0x5ed9c29) #17 operator() buildtools/third_party/libc++/trunk/include/memory:2338:5 (services_unittests+0x1df7e7f) #18 reset buildtools/third_party/libc++/trunk/include/memory:2651 (services_unittests+0x1df7e7f) #19 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2605 (services_unittests+0x1df7e7f) #20 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest::~NetworkServiceSSLConfigServiceTest() services/network/ssl_config_service_mojo_unittest.cc:152 (services_unittests+0x1df7e7f) #21 network::(anonymous namespace)::NetworkServiceSSLConfigServiceTest_Default_Test::~NetworkServiceSSLConfigServiceTest_Default_Test() services/network/ssl_config_service_mojo_unittest.cc:283:1 (services_unittests+0x1df5199) #22 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2d9207e) #23 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2704 (services_unittests+0x2d9207e) #24 testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:2828:28 (services_unittests+0x2d92bc6) #25 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5285:44 (services_unittests+0x2da4fe6) #26 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (services_unittests+0x2da4449) #27 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4873 (services_unittests+0x2da4449) #28 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2448:46 (services_unittests+0x5d8a172) #29 base::TestSuite::Run() base/test/test_suite.cc:316 (services_unittests+0x5d8a172) #30 Invoke<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:499:12 (services_unittests+0x1fc3378) #31 MakeItSo<int (base::TestSuite::*)(), (anonymous namespace)::ServiceTestSuite *> base/bind_internal.h:599 (services_unittests+0x1fc3378) #32 RunImpl<int (base::TestSuite::*)(), std::__1::tuple<base::internal::UnretainedWrapper<(anonymous namespace)::ServiceTestSuite> >, 0> base/bind_internal.h:672 (services_unittests+0x1fc3378) #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+0x1fc3378) #34 Run base/callback.h:97:12 (services_unittests+0x5d9370d) #35 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (services_unittests+0x5d9370d) #36 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10 (services_unittests+0x5d93570) #37 main services/test/run_all_unittests.cc:97:10 (services_unittests+0x1fc2faf) Previous write of size 1 at 0x7b3000000470 by thread T6 (mutexes: write M13083295017337792): #0 SetDnsConfig net/base/network_change_notifier.cc:79:10 (services_unittests+0x4e3aac6) #1 net::NetworkChangeNotifier::SetDnsConfig(net::DnsConfig const&) net/base/network_change_notifier.cc:763 (services_unittests+0x4e3aac6) #2 Invoke<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:399:12 (services_unittests+0x4e42ea4) #3 MakeItSo<void (*const &)(const net::DnsConfig &), const net::DnsConfig &> base/bind_internal.h:599 (services_unittests+0x4e42ea4) #4 RunImpl<void (*const &)(const net::DnsConfig &), const std::__1::tuple<> &> base/bind_internal.h:672 (services_unittests+0x4e42ea4) #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+0x4e42ea4) #6 Run base/callback.h:136:12 (services_unittests+0x29935d3) #7 OnCompleteConfig net/dns/dns_config_service.cc:158 (services_unittests+0x29935d3) #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+0x29935d3) #9 net::internal::DnsConfigServicePosix::HostsReader::OnWorkFinished() net/dns/dns_config_service_posix.cc:385:17 (services_unittests+0x29c800c) #10 net::SerialWorker::OnWorkJobFinished() net/dns/serial_worker.cc:63:13 (services_unittests+0x29c5cdb) #11 Invoke<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:499:12 (services_unittests+0x29c5f8a) #12 MakeItSo<void (net::SerialWorker::*)(), base::WeakPtr<net::SerialWorker>> base/bind_internal.h:619 (services_unittests+0x29c5f8a) #13 RunImpl<void (net::SerialWorker::*)(), std::__1::tuple<base::WeakPtr<net::SerialWorker> >, 0> base/bind_internal.h:672 (services_unittests+0x29c5f8a) #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+0x29c5f8a) #15 Run base/callback.h:97:12 (services_unittests+0x4424378) #16 base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:114 (services_unittests+0x4424378) #17 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:399:12 (services_unittests+0x4424467) #18 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:599 (services_unittests+0x4424467) #19 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:672 (services_unittests+0x4424467) #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+0x4424467) #21 Run base/callback.h:97:12 (services_unittests+0x43e442b) #22 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #23 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #24 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #25 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #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+0x447aacf) #27 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #28 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #29 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #30 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #31 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #32 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) Mutex M13083295017337792 is already destroyed. Thread T6 'ThreadPoolForeg' (tid=16731, running) created by thread T3 at: #0 pthread_create /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:976:3 (services_unittests+0x1ad905b) #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+0x447b027) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:246:10 (services_unittests+0x447af25) #3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task/thread_pool/scheduler_worker.cc:79:3 (services_unittests+0x441340d) #4 operator() base/task/thread_pool/scheduler_worker_pool_impl.cc:186:15 (services_unittests+0x4411f2b) #5 ForEachWorker<(lambda at ../../base/task/thread_pool/scheduler_worker_pool_impl.cc:185:37)> base/task/thread_pool/scheduler_worker_pool_impl.cc:151 (services_unittests+0x4411f2b) #6 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::FlushImpl() base/task/thread_pool/scheduler_worker_pool_impl.cc:185 (services_unittests+0x4411f2b) #7 base::internal::SchedulerWorkerPoolImpl::ScopedWorkersExecutor::~ScopedWorkersExecutor() base/task/thread_pool/scheduler_worker_pool_impl.cc:104:30 (services_unittests+0x440e9d4) #8 WillBlockEntered base/task/thread_pool/scheduler_worker_pool_impl.cc:911:1 (services_unittests+0x4410973) #9 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc:826 (services_unittests+0x4410973) #10 non-virtual thunk to base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::BlockingStarted(base::BlockingType) base/task/thread_pool/scheduler_worker_pool_impl.cc (services_unittests+0x4410bb4) #11 base::internal::UncheckedScopedBlockingCall::UncheckedScopedBlockingCall(base::BlockingType) base/threading/scoped_blocking_call.cc:48:27 (services_unittests+0x4424768) #12 base::ScopedBlockingCall::ScopedBlockingCall(base::Location const&, base::BlockingType) base/threading/scoped_blocking_call.cc:70:7 (services_unittests+0x44248d9) #13 base::(anonymous namespace)::InotifyReader::AddWatch(base::FilePath const&, base::(anonymous namespace)::FilePathWatcherImpl*) base/files/file_path_watcher_linux.cc:341:22 (services_unittests+0x4388c24) #14 base::(anonymous namespace)::FilePathWatcherImpl::UpdateWatches() base/files/file_path_watcher_linux.cc:575:48 (services_unittests+0x43887d2) #15 base::(anonymous namespace)::FilePathWatcherImpl::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher_linux.cc:539:3 (services_unittests+0x4387e4e) #16 base::FilePathWatcher::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) base/files/file_path_watcher.cc:43:17 (services_unittests+0x4387804) #17 net::internal::DnsConfigServicePosix::Watcher::Watch() net/dns/dns_config_service_posix.cc:259:25 (services_unittests+0x29c6a8c) #18 net::internal::DnsConfigServicePosix::StartWatching() net/dns/dns_config_service_posix.cc:426:20 (services_unittests+0x29c64fd) #19 net::DnsConfigService::WatchConfig(base::RepeatingCallback<void (net::DnsConfig const&)> const&) net/dns/dns_config_service.cc:38:20 (services_unittests+0x2992d42) #20 net::NetworkChangeNotifierLinux::BlockingThreadObjects::Init() net/base/network_change_notifier_linux.cc:67:23 (services_unittests+0x4e42a3c) #21 Invoke<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:499:12 (services_unittests+0x4e42f88) #22 MakeItSo<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), net::NetworkChangeNotifierLinux::BlockingThreadObjects *> base/bind_internal.h:599 (services_unittests+0x4e42f88) #23 RunImpl<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), std::__1::tuple<base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, 0> base/bind_internal.h:672 (services_unittests+0x4e42f88) #24 base::internal::Invoker<base::internal::BindState<void (net::NetworkChangeNotifierLinux::BlockingThreadObjects::*)(), base::internal::UnretainedWrapper<net::NetworkChangeNotifierLinux::BlockingThreadObjects> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:641 (services_unittests+0x4e42f88) #25 Run base/callback.h:97:12 (services_unittests+0x43e442b) #26 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/task/common/task_annotator.cc:148 (services_unittests+0x43e442b) #27 base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) base/task/thread_pool/task_tracker.cc:711:19 (services_unittests+0x4406991) #28 RunTaskWithShutdownBehavior base/task/thread_pool/task_tracker.cc:729:7 (services_unittests+0x44065de) #29 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/task/thread_pool/task_tracker.cc:565 (services_unittests+0x44065de) #30 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+0x447aacf) #31 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&, bool) base/test/scoped_task_environment.cc:690:46 (services_unittests+0x5d85848) #32 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::TaskSource>) base/task/thread_pool/task_tracker.cc:428:3 (services_unittests+0x4405d67) #33 base::internal::SchedulerWorker::RunWorker() base/task/thread_pool/scheduler_worker.cc:340:34 (services_unittests+0x4413dd0) #34 base::internal::SchedulerWorker::RunPooledWorker() base/task/thread_pool/scheduler_worker.cc:233:3 (services_unittests+0x4413a01) #35 base::internal::SchedulerWorker::ThreadMain() base/task/thread_pool/scheduler_worker.cc:212:7 (services_unittests+0x441386f) #36 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (services_unittests+0x447b534) SUMMARY: ThreadSanitizer: data race /b/swarming/w/ir/k/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:126:3 in operator delete(void*) ================== [ OK ] NetworkServiceSSLConfigServiceTest.Default (1527 ms) [----------] 1 test from NetworkServiceSSLConfigServiceTest (1527 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (1528 ms total) [ PASSED ] 1 test. ThreadSanitizer: reported 40 warnings ThreadSanitizer: Matched 2 suppressions (pid=16724): 2 race:net::(anonymous namespace)::g_network_change_notifier [ RUN ] NetworkServiceSSLConfigServiceTest.Default [ OK ] NetworkServiceSSLConfigServiceTest.Default (19 ms) ================================================================================