==================
WARNING: ThreadSanitizer: data race (pid=61892)
  Write of size 1 at 0x7b580012ff90 by thread T7:
    #0 FreeIfNeeded base/optional.h:287:28 (chrome+0x6f6edff)
    #1 reset base/optional.h:678 (chrome+0x6f6edff)
    #2 CancelWait mojo/public/cpp/bindings/lib/connector.cc:535 (chrome+0x6f6edff)
    #3 mojo::Connector::PassMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:197 (chrome+0x6f6edff)
    #4 mojo::Connector::CloseMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:191:3 (chrome+0x6f6ed9d)
    #5 mojo::internal::MultiplexRouter::CloseMessagePipe() mojo/public/cpp/bindings/lib/multiplex_router.cc:506:14 (chrome+0x6f7861a)
    #6 mojo::internal::BindingStateBase::Close() mojo/public/cpp/bindings/lib/binding_state.cc:51:12 (chrome+0x6f6d9c8)
    #7 ~BindingState mojo/public/cpp/bindings/lib/binding_state.h:109:21 (chrome+0x4b1cccc)
    #8 ~Binding mojo/public/cpp/bindings/binding.h:94 (chrome+0x4b1cccc)
    #9 ~Entry mojo/public/cpp/bindings/binding_set.h:213 (chrome+0x4b1cccc)
    #10 operator() buildtools/third_party/libc++/trunk/include/memory:2325 (chrome+0x4b1cccc)
    #11 reset buildtools/third_party/libc++/trunk/include/memory:2638 (chrome+0x4b1cccc)
    #12 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2592 (chrome+0x4b1cccc)
    #13 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (chrome+0x4b1cccc)
    #14 __destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1734 (chrome+0x4b1cccc)
    #15 destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1597 (chrome+0x4b1cccc)
    #16 std::__1::__tree<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > >::erase(std::__1::__tree_const_iterator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__tree_node<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, void*>*, long>) buildtools/third_party/libc++/trunk/include/__tree:2519 (chrome+0x4b1cccc)
    #17 erase buildtools/third_party/libc++/trunk/include/map:1266:56 (chrome+0x4b1cba1)
    #18 RemoveBinding mojo/public/cpp/bindings/binding_set.h:122 (chrome+0x4b1cba1)
    #19 operator() mojo/public/cpp/bindings/binding_set.h:188 (chrome+0x4b1cba1)
    #20 void base::internal::FunctorTraits<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, void>::Invoke<{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>({lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}&&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>&&, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >&&, unsigned long&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:403 (chrome+0x4b1cba1)
    #21 MakeItSo<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, const std::__1::basic_string<char> &> base/bind_internal.h:616:12 (chrome+0x4b1ca5d)
    #22 RunImpl<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), std::__1::tuple<base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, 0, 1, 2> base/bind_internal.h:689 (chrome+0x4b1ca5d)
    #23 base::internal::Invoker<base::internal::BindState<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::RunOnce(base::internal::BindStateBase*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:658 (chrome+0x4b1ca5d)
    #24 Run base/callback.h:99:12 (chrome+0x45eab1e)
    #25 content::SessionStorageContextMojo::OpenSessionStorage(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>) content/browser/dom_storage/session_storage_context_mojo.cc:144 (chrome+0x45eab1e)
    #26 Invoke<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:516:12 (chrome+0x45d56d4)
    #27 MakeItSo<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:616 (chrome+0x45d56d4)
    #28 RunImpl<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), std::__1::tuple<base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, 0, 1, 2, 3, 4> base/bind_internal.h:689 (chrome+0x45d56d4)
    #29 base::internal::Invoker<base::internal::BindState<void (content::SessionStorageContextMojo::*)(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x45d56d4)
    #30 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #31 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #32 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #33 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #34 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #35 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #36 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31 (chrome+0x6f12834)
    #37 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #38 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #39 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #40 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (chrome+0x6eb04e9)
    #41 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:174:11 (chrome+0x44791a6)
    #42 content::BrowserProcessSubThread::Run(base::RunLoop*) content/browser/browser_process_sub_thread.cc:126:7 (chrome+0x4479108)
    #43 base::Thread::ThreadMain() base/threading/thread.cc:332:3 (chrome+0x6eb0791)
    #44 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (chrome+0x6f0cf34)

  Previous write of size 1 at 0x7b580012ff90 by main thread:
    #0 FreeIfNeeded base/optional.h:287:28 (chrome+0x6f6eff9)
    #1 reset base/optional.h:678 (chrome+0x6f6eff9)
    #2 CancelWait mojo/public/cpp/bindings/lib/connector.cc:535 (chrome+0x6f6eff9)
    #3 mojo::Connector::HandleError(bool, bool) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6eff9)
    #4 mojo::Connector::ReadSingleMessage(unsigned int*) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6f455)
    #5 mojo::Connector::ReadAllAvailableMessages() mojo/public/cpp/bindings/lib/connector.cc:505:10 (chrome+0x6f7008a)
    #6 OnHandleReadyInternal mojo/public/cpp/bindings/lib/connector.cc:387:3 (chrome+0x6f6ff15)
    #7 mojo::Connector::OnWatcherHandleReady(unsigned int) mojo/public/cpp/bindings/lib/connector.cc:364 (chrome+0x6f6ff15)
    #8 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:516:12 (chrome+0x6f7062f)
    #9 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:616 (chrome+0x6f7062f)
    #10 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> base/bind_internal.h:689 (chrome+0x6f7062f)
    #11 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) base/bind_internal.h:671 (chrome+0x6f7062f)
    #12 Run base/callback.h:129:12 (chrome+0x3e09492)
    #13 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.h:194 (chrome+0x3e09492)
    #14 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:416:12 (chrome+0x3e094d5)
    #15 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:616 (chrome+0x3e094d5)
    #16 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> base/bind_internal.h:689 (chrome+0x3e094d5)
    #17 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) base/bind_internal.h:671 (chrome+0x3e094d5)
    #18 Run base/callback.h:129:12 (chrome+0x6f92c66)
    #19 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.cc:273 (chrome+0x6f92c66)
    #20 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:516:12 (chrome+0x6f9305c)
    #21 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:636 (chrome+0x6f9305c)
    #22 RunImpl<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> &, 0, 1, 2, 3> base/bind_internal.h:689 (chrome+0x6f9305c)
    #23 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (chrome+0x6f9305c)
    #24 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #25 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #26 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #27 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #28 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #29 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #30 base::MessagePumpGlib::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_glib.cc:309:49 (chrome+0x6e0fc0b)
    #31 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #32 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #33 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #34 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #35 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #36 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #37 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #38 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #39 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #40 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #41 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #42 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #43 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #44 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #45 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Location is heap block of size 728 at 0x7b580012ff00 allocated by main thread:
    #0 operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:65:3 (chrome+0x30af14d)
    #1 mojo::internal::BindingStateBase::BindInternal(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>, char const*, std::__1::unique_ptr<mojo::MessageReceiver, std::__1::default_delete<mojo::MessageReceiver> >, bool, bool, mojo::MessageReceiverWithResponderStatus*, unsigned int) mojo/public/cpp/bindings/lib/binding_state.cc:109:7 (chrome+0x6f6dcb3)
    #2 mojo::internal::BindingState<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Bind(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/lib/binding_state.h:113:23 (chrome+0x4b1e1da)
    #3 Bind mojo/public/cpp/bindings/binding.h:101:21 (chrome+0x4b1decc)
    #4 mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Binding(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/binding.h:89 (chrome+0x4b1decc)
    #5 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry::Entry(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>*, unsigned long, int) mojo/public/cpp/bindings/binding_set.h:220:11 (chrome+0x4b1dca1)
    #6 make_unique<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, blink::mojom::StoragePartitionService *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> *, unsigned long &, int> buildtools/third_party/libc++/trunk/include/memory:3118:32 (chrome+0x4b1da7b)
    #7 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::AddBindingImpl(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, int) mojo/public/cpp/bindings/binding_set.h:283 (chrome+0x4b1da7b)
    #8 AddBinding mojo/public/cpp/bindings/binding_set.h:110:12 (chrome+0x4b1a7d1)
    #9 content::StoragePartitionImpl::Bind(int, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/storage_partition_impl.cc:1342 (chrome+0x4b1a7d1)
    #10 content::RenderProcessHostImpl::CreateStoragePartitionService(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.cc:2393:28 (chrome+0x4973da0)
    #11 Invoke<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:516:12 (chrome+0x498dc69)
    #12 MakeItSo<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498dc69)
    #13 RunImpl<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::internal::UnretainedWrapper<content::RenderProcessHostImpl> > &, 0> base/bind_internal.h:689 (chrome+0x498dc69)
    #14 base::internal::Invoker<base::internal::BindState<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::internal::UnretainedWrapper<content::RenderProcessHostImpl> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498dc69)
    #15 Run base/callback.h:129:12 (chrome+0x498deba)
    #16 content::RenderProcessHostImpl::InterfaceGetter<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >::GetInterfaceOnUIThread(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.h:640 (chrome+0x498deba)
    #17 Invoke<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e2e2)
    #18 MakeItSo<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e2e2)
    #19 RunImpl<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> > &, 0, 1> base/bind_internal.h:689 (chrome+0x498e2e2)
    #20 base::internal::Invoker<base::internal::BindState<void (*)(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498e2e2)
    #21 Run base/callback.h:129:12 (chrome+0x498e16b)
    #22 service_manager::CallbackBinder<blink::mojom::StoragePartitionService>::RunCallback(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) services/service_manager/public/cpp/interface_binder.h:69 (chrome+0x498e16b)
    #23 Invoke<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e1ee)
    #24 MakeItSo<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e1ee)
    #25 RunImpl<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), std::__1::tuple<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, 0, 1> base/bind_internal.h:689 (chrome+0x498e1ee)
    #26 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x498e1ee)
    #27 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #28 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #29 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #30 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #31 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #32 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #33 HandleDispatch base/message_loop/message_pump_glib.cc:263:25 (chrome+0x6e0ff97)
    #34 base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) base/message_loop/message_pump_glib.cc:109 (chrome+0x6e0ff97)
    #35 g_main_context_dispatch <null> (libglib-2.0.so.0+0x4afc6)
    #36 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #37 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #38 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #39 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #40 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #41 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #42 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #43 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #44 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #45 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #46 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #47 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #48 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #49 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #50 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Thread T7 'Chrome_IOThread' (tid=61901, running) created by main thread at:
    #0 pthread_create /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:968:3 (chrome+0x30458b5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (chrome+0x6f0c947)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:238:10 (chrome+0x6f0c845)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (chrome+0x6eb005d)
    #4 content::BrowserProcessSubThread::CreateIOThread() content/browser/browser_process_sub_thread.cc:90:19 (chrome+0x4478f88)
    #5 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:920:31 (chrome+0x6756989)
    #6 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #7 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #8 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #9 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #10 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #11 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

SUMMARY: ThreadSanitizer: data race base/optional.h:287:28 in FreeIfNeeded
==================
==================
WARNING: ThreadSanitizer: data race (pid=61892)
  Write of size 8 at 0x7b580012ff88 by thread T7:
    #0 reset buildtools/third_party/libc++/trunk/include/memory:2636:20 (chrome+0x6f6ee10)
    #1 CancelWait mojo/public/cpp/bindings/lib/connector.cc:536 (chrome+0x6f6ee10)
    #2 mojo::Connector::PassMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:197 (chrome+0x6f6ee10)
    #3 mojo::Connector::CloseMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:191:3 (chrome+0x6f6ed9d)
    #4 mojo::internal::MultiplexRouter::CloseMessagePipe() mojo/public/cpp/bindings/lib/multiplex_router.cc:506:14 (chrome+0x6f7861a)
    #5 mojo::internal::BindingStateBase::Close() mojo/public/cpp/bindings/lib/binding_state.cc:51:12 (chrome+0x6f6d9c8)
    #6 ~BindingState mojo/public/cpp/bindings/lib/binding_state.h:109:21 (chrome+0x4b1cccc)
    #7 ~Binding mojo/public/cpp/bindings/binding.h:94 (chrome+0x4b1cccc)
    #8 ~Entry mojo/public/cpp/bindings/binding_set.h:213 (chrome+0x4b1cccc)
    #9 operator() buildtools/third_party/libc++/trunk/include/memory:2325 (chrome+0x4b1cccc)
    #10 reset buildtools/third_party/libc++/trunk/include/memory:2638 (chrome+0x4b1cccc)
    #11 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2592 (chrome+0x4b1cccc)
    #12 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (chrome+0x4b1cccc)
    #13 __destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1734 (chrome+0x4b1cccc)
    #14 destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1597 (chrome+0x4b1cccc)
    #15 std::__1::__tree<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > >::erase(std::__1::__tree_const_iterator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__tree_node<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, void*>*, long>) buildtools/third_party/libc++/trunk/include/__tree:2519 (chrome+0x4b1cccc)
    #16 erase buildtools/third_party/libc++/trunk/include/map:1266:56 (chrome+0x4b1cba1)
    #17 RemoveBinding mojo/public/cpp/bindings/binding_set.h:122 (chrome+0x4b1cba1)
    #18 operator() mojo/public/cpp/bindings/binding_set.h:188 (chrome+0x4b1cba1)
    #19 void base::internal::FunctorTraits<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, void>::Invoke<{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>({lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}&&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>&&, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >&&, unsigned long&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:403 (chrome+0x4b1cba1)
    #20 MakeItSo<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, const std::__1::basic_string<char> &> base/bind_internal.h:616:12 (chrome+0x4b1ca5d)
    #21 RunImpl<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), std::__1::tuple<base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, 0, 1, 2> base/bind_internal.h:689 (chrome+0x4b1ca5d)
    #22 base::internal::Invoker<base::internal::BindState<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::RunOnce(base::internal::BindStateBase*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:658 (chrome+0x4b1ca5d)
    #23 Run base/callback.h:99:12 (chrome+0x45eab1e)
    #24 content::SessionStorageContextMojo::OpenSessionStorage(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>) content/browser/dom_storage/session_storage_context_mojo.cc:144 (chrome+0x45eab1e)
    #25 Invoke<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:516:12 (chrome+0x45d56d4)
    #26 MakeItSo<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:616 (chrome+0x45d56d4)
    #27 RunImpl<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), std::__1::tuple<base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, 0, 1, 2, 3, 4> base/bind_internal.h:689 (chrome+0x45d56d4)
    #28 base::internal::Invoker<base::internal::BindState<void (content::SessionStorageContextMojo::*)(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x45d56d4)
    #29 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #30 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #31 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #32 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #33 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #34 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #35 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31 (chrome+0x6f12834)
    #36 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #37 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #38 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #39 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (chrome+0x6eb04e9)
    #40 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:174:11 (chrome+0x44791a6)
    #41 content::BrowserProcessSubThread::Run(base::RunLoop*) content/browser/browser_process_sub_thread.cc:126:7 (chrome+0x4479108)
    #42 base::Thread::ThreadMain() base/threading/thread.cc:332:3 (chrome+0x6eb0791)
    #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (chrome+0x6f0cf34)

  Previous write of size 8 at 0x7b580012ff88 by main thread:
    #0 reset buildtools/third_party/libc++/trunk/include/memory:2636:20 (chrome+0x6f6f00e)
    #1 CancelWait mojo/public/cpp/bindings/lib/connector.cc:536 (chrome+0x6f6f00e)
    #2 mojo::Connector::HandleError(bool, bool) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6f00e)
    #3 mojo::Connector::ReadSingleMessage(unsigned int*) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6f455)
    #4 mojo::Connector::ReadAllAvailableMessages() mojo/public/cpp/bindings/lib/connector.cc:505:10 (chrome+0x6f7008a)
    #5 OnHandleReadyInternal mojo/public/cpp/bindings/lib/connector.cc:387:3 (chrome+0x6f6ff15)
    #6 mojo::Connector::OnWatcherHandleReady(unsigned int) mojo/public/cpp/bindings/lib/connector.cc:364 (chrome+0x6f6ff15)
    #7 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:516:12 (chrome+0x6f7062f)
    #8 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:616 (chrome+0x6f7062f)
    #9 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> base/bind_internal.h:689 (chrome+0x6f7062f)
    #10 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) base/bind_internal.h:671 (chrome+0x6f7062f)
    #11 Run base/callback.h:129:12 (chrome+0x3e09492)
    #12 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.h:194 (chrome+0x3e09492)
    #13 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:416:12 (chrome+0x3e094d5)
    #14 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:616 (chrome+0x3e094d5)
    #15 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> base/bind_internal.h:689 (chrome+0x3e094d5)
    #16 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) base/bind_internal.h:671 (chrome+0x3e094d5)
    #17 Run base/callback.h:129:12 (chrome+0x6f92c66)
    #18 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.cc:273 (chrome+0x6f92c66)
    #19 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:516:12 (chrome+0x6f9305c)
    #20 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:636 (chrome+0x6f9305c)
    #21 RunImpl<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> &, 0, 1, 2, 3> base/bind_internal.h:689 (chrome+0x6f9305c)
    #22 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (chrome+0x6f9305c)
    #23 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #24 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #25 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #26 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #27 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #28 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #29 base::MessagePumpGlib::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_glib.cc:309:49 (chrome+0x6e0fc0b)
    #30 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #31 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #32 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #33 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #34 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #35 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #36 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #37 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #38 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #39 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #40 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #41 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #42 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #43 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #44 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Location is heap block of size 728 at 0x7b580012ff00 allocated by main thread:
    #0 operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:65:3 (chrome+0x30af14d)
    #1 mojo::internal::BindingStateBase::BindInternal(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>, char const*, std::__1::unique_ptr<mojo::MessageReceiver, std::__1::default_delete<mojo::MessageReceiver> >, bool, bool, mojo::MessageReceiverWithResponderStatus*, unsigned int) mojo/public/cpp/bindings/lib/binding_state.cc:109:7 (chrome+0x6f6dcb3)
    #2 mojo::internal::BindingState<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Bind(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/lib/binding_state.h:113:23 (chrome+0x4b1e1da)
    #3 Bind mojo/public/cpp/bindings/binding.h:101:21 (chrome+0x4b1decc)
    #4 mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Binding(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/binding.h:89 (chrome+0x4b1decc)
    #5 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry::Entry(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>*, unsigned long, int) mojo/public/cpp/bindings/binding_set.h:220:11 (chrome+0x4b1dca1)
    #6 make_unique<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, blink::mojom::StoragePartitionService *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> *, unsigned long &, int> buildtools/third_party/libc++/trunk/include/memory:3118:32 (chrome+0x4b1da7b)
    #7 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::AddBindingImpl(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, int) mojo/public/cpp/bindings/binding_set.h:283 (chrome+0x4b1da7b)
    #8 AddBinding mojo/public/cpp/bindings/binding_set.h:110:12 (chrome+0x4b1a7d1)
    #9 content::StoragePartitionImpl::Bind(int, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/storage_partition_impl.cc:1342 (chrome+0x4b1a7d1)
    #10 content::RenderProcessHostImpl::CreateStoragePartitionService(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.cc:2393:28 (chrome+0x4973da0)
    #11 Invoke<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:516:12 (chrome+0x498dc69)
    #12 MakeItSo<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498dc69)
    #13 RunImpl<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::internal::UnretainedWrapper<content::RenderProcessHostImpl> > &, 0> base/bind_internal.h:689 (chrome+0x498dc69)
    #14 base::internal::Invoker<base::internal::BindState<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::internal::UnretainedWrapper<content::RenderProcessHostImpl> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498dc69)
    #15 Run base/callback.h:129:12 (chrome+0x498deba)
    #16 content::RenderProcessHostImpl::InterfaceGetter<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >::GetInterfaceOnUIThread(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.h:640 (chrome+0x498deba)
    #17 Invoke<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e2e2)
    #18 MakeItSo<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e2e2)
    #19 RunImpl<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> > &, 0, 1> base/bind_internal.h:689 (chrome+0x498e2e2)
    #20 base::internal::Invoker<base::internal::BindState<void (*)(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498e2e2)
    #21 Run base/callback.h:129:12 (chrome+0x498e16b)
    #22 service_manager::CallbackBinder<blink::mojom::StoragePartitionService>::RunCallback(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) services/service_manager/public/cpp/interface_binder.h:69 (chrome+0x498e16b)
    #23 Invoke<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e1ee)
    #24 MakeItSo<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e1ee)
    #25 RunImpl<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), std::__1::tuple<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, 0, 1> base/bind_internal.h:689 (chrome+0x498e1ee)
    #26 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x498e1ee)
    #27 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #28 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #29 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #30 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #31 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #32 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #33 HandleDispatch base/message_loop/message_pump_glib.cc:263:25 (chrome+0x6e0ff97)
    #34 base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) base/message_loop/message_pump_glib.cc:109 (chrome+0x6e0ff97)
    #35 g_main_context_dispatch <null> (libglib-2.0.so.0+0x4afc6)
    #36 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #37 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #38 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #39 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #40 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #41 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #42 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #43 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #44 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #45 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #46 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #47 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #48 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #49 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #50 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Thread T7 'Chrome_IOThread' (tid=61901, running) created by main thread at:
    #0 pthread_create /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:968:3 (chrome+0x30458b5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (chrome+0x6f0c947)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:238:10 (chrome+0x6f0c845)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (chrome+0x6eb005d)
    #4 content::BrowserProcessSubThread::CreateIOThread() content/browser/browser_process_sub_thread.cc:90:19 (chrome+0x4478f88)
    #5 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:920:31 (chrome+0x6756989)
    #6 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #7 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #8 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #9 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #10 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #11 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/memory:2636:20 in reset
==================
==================
WARNING: ThreadSanitizer: data race (pid=61892)
  Write of size 8 at 0x7b5800130078 by thread T7:
    #0 reset buildtools/third_party/libc++/trunk/include/memory:2636:20 (chrome+0x6f6ee40)
    #1 CancelWait mojo/public/cpp/bindings/lib/connector.cc:538 (chrome+0x6f6ee40)
    #2 mojo::Connector::PassMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:197 (chrome+0x6f6ee40)
    #3 mojo::Connector::CloseMessagePipe() mojo/public/cpp/bindings/lib/connector.cc:191:3 (chrome+0x6f6ed9d)
    #4 mojo::internal::MultiplexRouter::CloseMessagePipe() mojo/public/cpp/bindings/lib/multiplex_router.cc:506:14 (chrome+0x6f7861a)
    #5 mojo::internal::BindingStateBase::Close() mojo/public/cpp/bindings/lib/binding_state.cc:51:12 (chrome+0x6f6d9c8)
    #6 ~BindingState mojo/public/cpp/bindings/lib/binding_state.h:109:21 (chrome+0x4b1cccc)
    #7 ~Binding mojo/public/cpp/bindings/binding.h:94 (chrome+0x4b1cccc)
    #8 ~Entry mojo/public/cpp/bindings/binding_set.h:213 (chrome+0x4b1cccc)
    #9 operator() buildtools/third_party/libc++/trunk/include/memory:2325 (chrome+0x4b1cccc)
    #10 reset buildtools/third_party/libc++/trunk/include/memory:2638 (chrome+0x4b1cccc)
    #11 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2592 (chrome+0x4b1cccc)
    #12 ~pair buildtools/third_party/libc++/trunk/include/utility:315 (chrome+0x4b1cccc)
    #13 __destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1734 (chrome+0x4b1cccc)
    #14 destroy<std::__1::pair<const unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > buildtools/third_party/libc++/trunk/include/memory:1597 (chrome+0x4b1cccc)
    #15 std::__1::__tree<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > > > >::erase(std::__1::__tree_const_iterator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, std::__1::__tree_node<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, std::__1::default_delete<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry> > >, void*>*, long>) buildtools/third_party/libc++/trunk/include/__tree:2519 (chrome+0x4b1cccc)
    #16 erase buildtools/third_party/libc++/trunk/include/map:1266:56 (chrome+0x4b1cba1)
    #17 RemoveBinding mojo/public/cpp/bindings/binding_set.h:122 (chrome+0x4b1cba1)
    #18 operator() mojo/public/cpp/bindings/binding_set.h:188 (chrome+0x4b1cba1)
    #19 void base::internal::FunctorTraits<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, void>::Invoke<{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>({lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}&&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>&&, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >&&, unsigned long&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:403 (chrome+0x4b1cba1)
    #20 MakeItSo<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, const std::__1::basic_string<char> &> base/bind_internal.h:616:12 (chrome+0x4b1ca5d)
    #21 RunImpl<(lambda at ../../mojo/public/cpp/bindings/binding_set.h:183:9), std::__1::tuple<base::OnceCallback<void (const std::__1::basic_string<char> &)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, 0, 1, 2> base/bind_internal.h:689 (chrome+0x4b1ca5d)
    #22 base::internal::Invoker<base::internal::BindState<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::GetBadMessageCallback()::{lambda(base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)#1}, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, base::WeakPtr<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> >, unsigned long>, void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::RunOnce(base::internal::BindStateBase*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:658 (chrome+0x4b1ca5d)
    #23 Run base/callback.h:99:12 (chrome+0x45eab1e)
    #24 content::SessionStorageContextMojo::OpenSessionStorage(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>) content/browser/dom_storage/session_storage_context_mojo.cc:144 (chrome+0x45eab1e)
    #25 Invoke<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:516:12 (chrome+0x45d56d4)
    #26 MakeItSo<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), content::SessionStorageContextMojo *, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> > base/bind_internal.h:616 (chrome+0x45d56d4)
    #27 RunImpl<void (content::SessionStorageContextMojo::*)(int, const std::__1::basic_string<char> &, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), std::__1::tuple<base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char>, base::OnceCallback<void (const std::__1::basic_string<char> &)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, 0, 1, 2, 3, 4> base/bind_internal.h:689 (chrome+0x45d56d4)
    #28 base::internal::Invoker<base::internal::BindState<void (content::SessionStorageContextMojo::*)(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace>), base::internal::UnretainedWrapper<content::SessionStorageContextMojo>, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, base::OnceCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>, mojo::InterfaceRequest<blink::mojom::SessionStorageNamespace> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x45d56d4)
    #29 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #30 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #31 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #32 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #33 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #34 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #35 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31 (chrome+0x6f12834)
    #36 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #37 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #38 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #39 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (chrome+0x6eb04e9)
    #40 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:174:11 (chrome+0x44791a6)
    #41 content::BrowserProcessSubThread::Run(base::RunLoop*) content/browser/browser_process_sub_thread.cc:126:7 (chrome+0x4479108)
    #42 base::Thread::ThreadMain() base/threading/thread.cc:332:3 (chrome+0x6eb0791)
    #43 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (chrome+0x6f0cf34)

  Previous write of size 8 at 0x7b5800130078 by main thread:
    #0 reset buildtools/third_party/libc++/trunk/include/memory:2636:20 (chrome+0x6f6f044)
    #1 CancelWait mojo/public/cpp/bindings/lib/connector.cc:538 (chrome+0x6f6f044)
    #2 mojo::Connector::HandleError(bool, bool) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6f044)
    #3 mojo::Connector::ReadSingleMessage(unsigned int*) mojo/public/cpp/bindings/lib/connector.cc (chrome+0x6f6f455)
    #4 mojo::Connector::ReadAllAvailableMessages() mojo/public/cpp/bindings/lib/connector.cc:505:10 (chrome+0x6f7008a)
    #5 OnHandleReadyInternal mojo/public/cpp/bindings/lib/connector.cc:387:3 (chrome+0x6f6ff15)
    #6 mojo::Connector::OnWatcherHandleReady(unsigned int) mojo/public/cpp/bindings/lib/connector.cc:364 (chrome+0x6f6ff15)
    #7 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:516:12 (chrome+0x6f7062f)
    #8 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:616 (chrome+0x6f7062f)
    #9 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> base/bind_internal.h:689 (chrome+0x6f7062f)
    #10 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) base/bind_internal.h:671 (chrome+0x6f7062f)
    #11 Run base/callback.h:129:12 (chrome+0x3e09492)
    #12 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.h:194 (chrome+0x3e09492)
    #13 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:416:12 (chrome+0x3e094d5)
    #14 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:616 (chrome+0x3e094d5)
    #15 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> base/bind_internal.h:689 (chrome+0x3e094d5)
    #16 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) base/bind_internal.h:671 (chrome+0x3e094d5)
    #17 Run base/callback.h:129:12 (chrome+0x6f92c66)
    #18 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.cc:273 (chrome+0x6f92c66)
    #19 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:516:12 (chrome+0x6f9305c)
    #20 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:636 (chrome+0x6f9305c)
    #21 RunImpl<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> &, 0, 1, 2, 3> base/bind_internal.h:689 (chrome+0x6f9305c)
    #22 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (chrome+0x6f9305c)
    #23 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #24 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #25 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #26 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #27 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #28 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #29 base::MessagePumpGlib::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_glib.cc:309:49 (chrome+0x6e0fc0b)
    #30 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #31 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #32 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #33 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #34 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #35 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #36 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #37 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #38 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #39 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #40 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #41 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #42 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #43 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #44 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Location is heap block of size 728 at 0x7b580012ff00 allocated by main thread:
    #0 operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:65:3 (chrome+0x30af14d)
    #1 mojo::internal::BindingStateBase::BindInternal(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>, char const*, std::__1::unique_ptr<mojo::MessageReceiver, std::__1::default_delete<mojo::MessageReceiver> >, bool, bool, mojo::MessageReceiverWithResponderStatus*, unsigned int) mojo/public/cpp/bindings/lib/binding_state.cc:109:7 (chrome+0x6f6dcb3)
    #2 mojo::internal::BindingState<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Bind(mojo::ScopedHandleBase<mojo::MessagePipeHandle>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/lib/binding_state.h:113:23 (chrome+0x4b1e1da)
    #3 Bind mojo/public/cpp/bindings/binding.h:101:21 (chrome+0x4b1decc)
    #4 mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >::Binding(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, scoped_refptr<base::SingleThreadTaskRunner>) mojo/public/cpp/bindings/binding.h:89 (chrome+0x4b1decc)
    #5 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry::Entry(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>*, unsigned long, int) mojo/public/cpp/bindings/binding_set.h:220:11 (chrome+0x4b1dca1)
    #6 make_unique<mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::Entry, blink::mojom::StoragePartitionService *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int> *, unsigned long &, int> buildtools/third_party/libc++/trunk/include/memory:3118:32 (chrome+0x4b1da7b)
    #7 mojo::BindingSetBase<blink::mojom::StoragePartitionService, mojo::Binding<blink::mojom::StoragePartitionService, mojo::RawPtrImplRefTraits<blink::mojom::StoragePartitionService> >, int>::AddBindingImpl(blink::mojom::StoragePartitionService*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>, int) mojo/public/cpp/bindings/binding_set.h:283 (chrome+0x4b1da7b)
    #8 AddBinding mojo/public/cpp/bindings/binding_set.h:110:12 (chrome+0x4b1a7d1)
    #9 content::StoragePartitionImpl::Bind(int, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/storage_partition_impl.cc:1342 (chrome+0x4b1a7d1)
    #10 content::RenderProcessHostImpl::CreateStoragePartitionService(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.cc:2393:28 (chrome+0x4973da0)
    #11 Invoke<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:516:12 (chrome+0x498dc69)
    #12 MakeItSo<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), content::RenderProcessHostImpl *, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498dc69)
    #13 RunImpl<void (content::RenderProcessHostImpl::*const &)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::internal::UnretainedWrapper<content::RenderProcessHostImpl> > &, 0> base/bind_internal.h:689 (chrome+0x498dc69)
    #14 base::internal::Invoker<base::internal::BindState<void (content::RenderProcessHostImpl::*)(mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::internal::UnretainedWrapper<content::RenderProcessHostImpl> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498dc69)
    #15 Run base/callback.h:129:12 (chrome+0x498deba)
    #16 content::RenderProcessHostImpl::InterfaceGetter<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >::GetInterfaceOnUIThread(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) content/browser/renderer_host/render_process_host_impl.h:640 (chrome+0x498deba)
    #17 Invoke<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e2e2)
    #18 MakeItSo<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const base::WeakPtr<content::RenderProcessHostImpl> &, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e2e2)
    #19 RunImpl<void (*const &)(base::WeakPtr<content::RenderProcessHostImpl>, const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), const std::__1::tuple<base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> > &, 0, 1> base/bind_internal.h:689 (chrome+0x498e2e2)
    #20 base::internal::Invoker<base::internal::BindState<void (*)(base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::WeakPtr<content::RenderProcessHostImpl>, base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> >, void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>&&) base/bind_internal.h:671 (chrome+0x498e2e2)
    #21 Run base/callback.h:129:12 (chrome+0x498e16b)
    #22 service_manager::CallbackBinder<blink::mojom::StoragePartitionService>::RunCallback(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>) services/service_manager/public/cpp/interface_binder.h:69 (chrome+0x498e16b)
    #23 Invoke<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:416:12 (chrome+0x498e1ee)
    #24 MakeItSo<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> > base/bind_internal.h:616 (chrome+0x498e1ee)
    #25 RunImpl<void (*)(const base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> &, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), std::__1::tuple<base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, 0, 1> base/bind_internal.h:689 (chrome+0x498e1ee)
    #26 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)> const&, mojo::InterfaceRequest<blink::mojom::StoragePartitionService>), base::RepeatingCallback<void (mojo::InterfaceRequest<blink::mojom::StoragePartitionService>)>, mojo::InterfaceRequest<blink::mojom::StoragePartitionService> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (chrome+0x498e1ee)
    #27 Run base/callback.h:99:12 (chrome+0x6e0d0e2)
    #28 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (chrome+0x6e0d0e2)
    #29 base::MessageLoopImpl::RunTask(base::PendingTask*) base/message_loop/message_loop_impl.cc:374:46 (chrome+0x6e0be7d)
    #30 DeferOrRunPendingTask base/message_loop/message_loop_impl.cc:385:5 (chrome+0x6e0c64b)
    #31 base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc:473 (chrome+0x6e0c64b)
    #32 non-virtual thunk to base::MessageLoopImpl::DoWork() base/message_loop/message_loop_impl.cc (chrome+0x6e0c68d)
    #33 HandleDispatch base/message_loop/message_pump_glib.cc:263:25 (chrome+0x6e0ff97)
    #34 base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) base/message_loop/message_pump_glib.cc:109 (chrome+0x6e0ff97)
    #35 g_main_context_dispatch <null> (libglib-2.0.so.0+0x4afc6)
    #36 Run base/message_loop/message_loop_impl.cc:326:12 (chrome+0x6e0ba6f)
    #37 non-virtual thunk to base::MessageLoopImpl::Run(bool) base/message_loop/message_loop_impl.cc (chrome+0x6e0ba6f)
    #38 base::RunLoop::Run() base/run_loop.cc:102:14 (chrome+0x6e4416a)
    #39 ChromeBrowserMainParts::MainMessageLoopRun(int*) chrome/browser/chrome_browser_main.cc:1865:15 (chrome+0x6801e89)
    #40 content::BrowserMainLoop::RunMainMessageLoopParts() content/browser/browser_main_loop.cc:999:29 (chrome+0x446bacc)
    #41 content::BrowserMainRunnerImpl::Run() content/browser/browser_main_runner_impl.cc:165:15 (chrome+0x446f297)
    #42 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:47:28 (chrome+0x446781a)
    #43 RunBrowserProcessMain content/app/content_main_runner_impl.cc:543:10 (chrome+0x6756c9c)
    #44 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:941 (chrome+0x6756c9c)
    #45 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #46 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #47 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #48 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #49 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #50 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

  Thread T7 'Chrome_IOThread' (tid=61901, running) created by main thread at:
    #0 pthread_create /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:968:3 (chrome+0x30458b5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (chrome+0x6f0c947)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:238:10 (chrome+0x6f0c845)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (chrome+0x6eb005d)
    #4 content::BrowserProcessSubThread::CreateIOThread() content/browser/browser_process_sub_thread.cc:90:19 (chrome+0x4478f88)
    #5 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:920:31 (chrome+0x6756989)
    #6 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:866:12 (chrome+0x6756715)
    #7 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (chrome+0x67533cf)
    #8 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29 (chrome+0x67d94db)
    #9 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (chrome+0x675469b)
    #10 ChromeMain chrome/app/chrome_main.cc:102:12 (chrome+0x30aff54)
    #11 main chrome/app/chrome_exe_main_aura.cc:17:10 (chrome+0x30afeae)

SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/memory:2636:20 in reset