I'm trying to add viz_browser_tests to the memory bots. The tsan tryjob has oodles of failures:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_tsan_rel_ng/32591
Here's a random example:
[ RUN ] NoStatePrefetchBrowserTest.RendererCrash
Xlib: extension "RANDR" missing on display ":99".
[20270:20389:0606/163055.392355:ERROR:bus.cc(394)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[20270:20270:0606/163055.564055:WARNING:password_store_factory.cc(250)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options.
(browser_tests:20270): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Unknown or unsupported transport 'disabled' for address 'disabled:'
[20270:20270:0606/163057.621495:WARNING:gaia_auth_fetcher.cc(902)] Could not reach Google Accounts servers: errno -11
[20270:20270:0606/163058.628132:WARNING:gaia_auth_fetcher.cc(902)] Could not reach Google Accounts servers: errno -102
[20432:20432:0606/163100.089866:ERROR:render_frame_impl.cc(908)] Intentionally crashing (with null pointer dereference) because user navigated to chrome://crash/
==================
WARNING: ThreadSanitizer: data race (pid=20270)
Write of size 1 at 0x7b2c0002b0d0 by thread T2:
#0 WillDestroyCurrentMessageLoop components/crash/content/browser/crash_handler_host_linux.cc:487:18 (browser_tests+0x6d18db6)
#1 non-virtual thunk to breakpad::CrashHandlerHostLinux::WillDestroyCurrentMessageLoop() components/crash/content/browser/crash_handler_host_linux.cc (browser_tests+0x6d18db6)
#2 base::MessageLoop::~MessageLoop() base/message_loop/message_loop.cc:92:14 (browser_tests+0x84d8c2f)
#3 base::MessageLoop::~MessageLoop() base/message_loop/message_loop.cc:51:29 (browser_tests+0x84d6619)
#4 operator() buildtools/third_party/libc++/trunk/include/memory:2321:5 (browser_tests+0x857a262)
#5 reset buildtools/third_party/libc++/trunk/include/memory:2634 (browser_tests+0x857a262)
#6 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588 (browser_tests+0x857a262)
#7 base::Thread::ThreadMain() base/threading/thread.cc:362 (browser_tests+0x857a262)
#8 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x85e1188)
Previous read of size 1 at 0x7b2c0002b0d0 by thread T27:
#0 IsShuttingDown components/crash/content/browser/crash_handler_host_linux.cc:492:10 (browser_tests+0x6d18c17)
#1 breakpad::(anonymous namespace)::CrashDumpTask(breakpad::CrashHandlerHostLinux*, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> >) components/crash/content/browser/crash_handler_host_linux.cc:77 (browser_tests+0x6d18c17)
#2 Invoke<void (*)(breakpad::CrashHandlerHostLinux *, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> >), breakpad::CrashHandlerHostLinux *, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> > > base/bind_internal.h:407:12 (browser_tests+0x6d193d4)
#3 MakeItSo<void (*)(breakpad::CrashHandlerHostLinux *, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> >), breakpad::CrashHandlerHostLinux *, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> > > base/bind_internal.h:607 (browser_tests+0x6d193d4)
#4 RunImpl<void (*)(breakpad::CrashHandlerHostLinux *, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> >), std::__1::tuple<base::internal::UnretainedWrapper<breakpad::CrashHandlerHostLinux>, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> > >, 0, 1> base/bind_internal.h:681 (browser_tests+0x6d193d4)
#5 base::internal::Invoker<base::internal::BindState<void (*)(breakpad::CrashHandlerHostLinux*, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> >), base::internal::UnretainedWrapper<breakpad::CrashHandlerHostLinux>, std::__1::unique_ptr<breakpad::BreakpadInfo, std::__1::default_delete<breakpad::BreakpadInfo> > >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (browser_tests+0x6d193d4)
#6 Run base/callback.h:96:12 (browser_tests+0x849cd8b)
#7 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (browser_tests+0x849cd8b)
#8 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:126:19 (browser_tests+0x84da5fe)
#9 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25 (browser_tests+0x84d7b43)
#10 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:329:5 (browser_tests+0x84d802c)
#11 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:16 (browser_tests+0x84d83c5)
#12 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:37:31 (browser_tests+0x84df7b6)
#13 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:271:12 (browser_tests+0x84d7237)
#14 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (browser_tests+0x84d7324)
#15 base::RunLoop::Run() base/run_loop.cc:102:14 (browser_tests+0x85238cf)
#16 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (browser_tests+0x8579beb)
#17 base::Thread::ThreadMain() base/threading/thread.cc:337:3 (browser_tests+0x857a1cb)
#18 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x85e1188)
Location is heap block of size 176 at 0x7b2c0002b030 allocated by thread T21:
#0 operator new(unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:57:3 (browser_tests+0x2d3d6e9)
#1 CreateCrashHandlerHost chrome/browser/chrome_content_browser_client.cc:678:9 (browser_tests+0x86bb735)
#2 GetCrashSignalFD chrome/browser/chrome_content_browser_client.cc:717 (browser_tests+0x86bb735)
#3 ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(base::CommandLine const&, int, content::PosixFileDescriptorInfo*) chrome/browser/chrome_content_browser_client.cc:3238 (browser_tests+0x86bb735)
#4 content::internal::CreateDefaultPosixFilesToMap(int, mojo::PlatformChannelEndpoint const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::CommandLine*) content/browser/child_process_launcher_helper_posix.cc:98:34 (browser_tests+0x654aa53)
#5 content::internal::ChildProcessLauncherHelper::GetFilesToMap() content/browser/child_process_launcher_helper_linux.cc:40:10 (browser_tests+0x5d553d2)
#6 content::internal::ChildProcessLauncherHelper::LaunchOnLauncherThread() content/browser/child_process_launcher_helper.cc:105:60 (browser_tests+0x5d53d3c)
#7 Invoke<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper>> base/bind_internal.h:507:12 (browser_tests+0x5d54be0)
#8 MakeItSo<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper> > base/bind_internal.h:607 (browser_tests+0x5d54be0)
#9 RunImpl<void (content::internal::ChildProcessLauncherHelper::*)(), std::__1::tuple<scoped_refptr<content::internal::ChildProcessLauncherHelper> >, 0> base/bind_internal.h:681 (browser_tests+0x5d54be0)
#10 base::internal::Invoker<base::internal::BindState<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (browser_tests+0x5d54be0)
#11 Run base/callback.h:96:12 (browser_tests+0x849cd8b)
#12 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (browser_tests+0x849cd8b)
#13 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:529:23 (browser_tests+0x8567791)
#14 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (browser_tests+0x85e0527)
#15 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) base/task_scheduler/task_tracker.cc:404:3 (browser_tests+0x8566517)
#16 base::internal::SchedulerWorker::RunWorker() base/task_scheduler/scheduler_worker.cc:313:24 (browser_tests+0x856104e)
#17 base::internal::SchedulerWorker::RunDedicatedWorker() base/task_scheduler/scheduler_worker.cc:231:3 (browser_tests+0x8560d21)
#18 base::internal::SchedulerWorker::ThreadMain() base/task_scheduler/scheduler_worker.cc:192:7 (browser_tests+0x8560b22)
#19 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x85e1188)
Thread T2 'Chrome_IOThread' (tid=20336, running) created by main thread at:
#0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (browser_tests+0x2cd3fb5)
#1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (browser_tests+0x85e0ac6)
#2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (browser_tests+0x85e0985)
#3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (browser_tests+0x8579285)
#4 content::BrowserProcessSubThread::CreateIOThread() content/browser/browser_process_sub_thread.cc:91:19 (browser_tests+0x5ce757e)
#5 content::ContentMainRunnerImpl::GetServiceManagerTaskRunnerForEmbedderProcess() content/app/content_main_runner_impl.cc:1000:29 (browser_tests+0x83cfa85)
#6 content::ContentServiceManagerMainDelegate::GetServiceManagerTaskRunnerForEmbedderProcess() content/app/content_service_manager_main_delegate.cc:132:32 (browser_tests+0x83cce0a)
#7 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:456:23 (browser_tests+0xb71d282)
#8 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (browser_tests+0x83ccfbe)
#9 content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:323:3 (browser_tests+0x8ef0160)
#10 InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:244:20 (browser_tests+0x8623b0a)
#11 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (browser_tests+0x48dea3b)
#12 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11 (browser_tests+0x48dfc9c)
#13 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (browser_tests+0x48e0526)
#14 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (browser_tests+0x48f0ac6)
#15 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (browser_tests+0x48f03aa)
#16 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (browser_tests+0x8642245)
#17 base::TestSuite::Run() base/test/test_suite.cc:275 (browser_tests+0x8642245)
#18 ChromeTestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:65:38 (browser_tests+0x848b3e6)
#19 ChromeTestLauncherDelegate::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:74:19 (browser_tests+0x848b4ef)
#20 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:625:31 (browser_tests+0x8f2cfc9)
#21 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:170:10 (browser_tests+0x848ba74)
#22 main chrome/test/base/browser_tests_main.cc:36:10 (browser_tests+0x848b2dc)
Thread T27 'renderer_crash_uploader' (tid=20430, running) created by thread T21 at:
#0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (browser_tests+0x2cd3fb5)
#1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (browser_tests+0x85e0ac6)
#2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (browser_tests+0x85e0985)
#3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (browser_tests+0x8579285)
#4 base::Thread::Start() base/threading/thread.cc:75:10 (browser_tests+0x8578efa)
#5 breakpad::CrashHandlerHostLinux::StartUploaderThread() components/crash/content/browser/crash_handler_host_linux.cc:144:21 (browser_tests+0x6d171c3)
#6 CreateCrashHandlerHost chrome/browser/chrome_content_browser_client.cc:679:20 (browser_tests+0x86bb752)
#7 GetCrashSignalFD chrome/browser/chrome_content_browser_client.cc:717 (browser_tests+0x86bb752)
#8 ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(base::CommandLine const&, int, content::PosixFileDescriptorInfo*) chrome/browser/chrome_content_browser_client.cc:3238 (browser_tests+0x86bb752)
#9 content::internal::CreateDefaultPosixFilesToMap(int, mojo::PlatformChannelEndpoint const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, base::CommandLine*) content/browser/child_process_launcher_helper_posix.cc:98:34 (browser_tests+0x654aa53)
#10 content::internal::ChildProcessLauncherHelper::GetFilesToMap() content/browser/child_process_launcher_helper_linux.cc:40:10 (browser_tests+0x5d553d2)
#11 content::internal::ChildProcessLauncherHelper::LaunchOnLauncherThread() content/browser/child_process_launcher_helper.cc:105:60 (browser_tests+0x5d53d3c)
#12 Invoke<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper>> base/bind_internal.h:507:12 (browser_tests+0x5d54be0)
#13 MakeItSo<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper> > base/bind_internal.h:607 (browser_tests+0x5d54be0)
#14 RunImpl<void (content::internal::ChildProcessLauncherHelper::*)(), std::__1::tuple<scoped_refptr<content::internal::ChildProcessLauncherHelper> >, 0> base/bind_internal.h:681 (browser_tests+0x5d54be0)
#15 base::internal::Invoker<base::internal::BindState<void (content::internal::ChildProcessLauncherHelper::*)(), scoped_refptr<content::internal::ChildProcessLauncherHelper> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (browser_tests+0x5d54be0)
#16 Run base/callback.h:96:12 (browser_tests+0x849cd8b)
#17 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (browser_tests+0x849cd8b)
#18 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:529:23 (browser_tests+0x8567791)
#19 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (browser_tests+0x85e0527)
#20 base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) base/task_scheduler/task_tracker.cc:404:3 (browser_tests+0x8566517)
#21 base::internal::SchedulerWorker::RunWorker() base/task_scheduler/scheduler_worker.cc:313:24 (browser_tests+0x856104e)
#22 base::internal::SchedulerWorker::RunDedicatedWorker() base/task_scheduler/scheduler_worker.cc:231:3 (browser_tests+0x8560d21)
#23 base::internal::SchedulerWorker::ThreadMain() base/task_scheduler/scheduler_worker.cc:192:7 (browser_tests+0x8560b22)
#24 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x85e1188)
Thread T21 'TaskSchedulerSi' (tid=20371, running) created by thread T2 at:
#0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (browser_tests+0x2cd3fb5)
#1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (browser_tests+0x85e0ac6)
#2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (browser_tests+0x85e0985)
#3 base::internal::SchedulerWorker::Start(base::SchedulerWorkerObserver*) base/task_scheduler/scheduler_worker.cc:77:3 (browser_tests+0x85604e7)
#4 CreateTaskRunnerWithTraitsImpl<base::internal::(anonymous namespace)::SchedulerWorkerDelegate> base/task_scheduler/scheduler_single_thread_task_runner_manager.cc:504:13 (browser_tests+0x8562af5)
#5 base::internal::SchedulerSingleThreadTaskRunnerManager::CreateSingleThreadTaskRunnerWithTraits(base::TaskTraits const&, base::SingleThreadTaskRunnerThreadMode) base/task_scheduler/scheduler_single_thread_task_runner_manager.cc:437 (browser_tests+0x8562af5)
#6 base::internal::TaskSchedulerImpl::CreateSingleThreadTaskRunnerWithTraits(base::TaskTraits const&, base::SingleThreadTaskRunnerThreadMode) base/task_scheduler/task_scheduler_impl.cc:207:8 (browser_tests+0x8553bfc)
#7 base::CreateSingleThreadTaskRunnerWithTraits(base::TaskTraits const&, base::SingleThreadTaskRunnerThreadMode) base/task_scheduler/post_task.cc:115:40 (browser_tests+0x854ffe2)
#8 Create base/task_scheduler/lazy_task_runner.cc:54:10 (browser_tests+0x854efb6)
#9 base::internal::LazyTaskRunner<base::SingleThreadTaskRunner, false>::CreateRaw(void*) base/task_scheduler/lazy_task_runner.cc:72 (browser_tests+0x854efb6)
#10 GetOrCreateLazyPointer<base::SingleThreadTaskRunner> base/lazy_instance_helpers.h:83:48 (browser_tests+0x854eeb1)
#11 base::internal::LazyTaskRunner<base::SingleThreadTaskRunner, false>::Get() base/task_scheduler/lazy_task_runner.cc:92 (browser_tests+0x854eeb1)
#12 GetProcessLauncherTaskRunner content/browser/child_process_launcher_helper.cc:216:31 (browser_tests+0x5d53a8e)
#13 content::internal::ChildProcessLauncherHelper::StartLaunchOnClientThread() content/browser/child_process_launcher_helper.cc:94 (browser_tests+0x5d53a8e)
#14 content::ChildProcessLauncher::ChildProcessLauncher(std::__1::unique_ptr<content::SandboxedProcessLauncherDelegate, std::__1::default_delete<content::SandboxedProcessLauncherDelegate> >, std::__1::unique_ptr<base::CommandLine, std::__1::default_delete<base::CommandLine> >, int, content::ChildProcessLauncher::Client*, mojo::OutgoingInvitation, base::RepeatingCallback<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)> const&, bool) content/browser/child_process_launcher.cc:50:12 (browser_tests+0x5d52924)
#15 content::BrowserChildProcessHostImpl::Launch(std::__1::unique_ptr<content::SandboxedProcessLauncherDelegate, std::__1::default_delete<content::SandboxedProcessLauncherDelegate> >, std::__1::unique_ptr<base::CommandLine, std::__1::default_delete<base::CommandLine> >, bool) content/browser/browser_child_process_host_impl.cc:273:28 (browser_tests+0x5cc93e6)
#16 content::GpuProcessHost::LaunchGpuProcess() content/browser/gpu/gpu_process_host.cc:1411:13 (browser_tests+0x5fc85ce)
#17 content::GpuProcessHost::Init() content/browser/gpu/gpu_process_host.cc:883:15 (browser_tests+0x5fc4ac5)
#18 content::GpuProcessHost::Get(content::GpuProcessHost::GpuProcessKind, bool) content/browser/gpu/gpu_process_host.cc:582:13 (browser_tests+0x5fc481f)
#19 content::BrowserGpuChannelHostFactory::EstablishRequest::EstablishOnIO() content/browser/gpu/browser_gpu_channel_host_factory.cc:119:26 (browser_tests+0x5fa75fb)
#20 Invoke<void (content::BrowserGpuChannelHostFactory::EstablishRequest::*)(), scoped_refptr<content::BrowserGpuChannelHostFactory::EstablishRequest>> base/bind_internal.h:507:12 (browser_tests+0x5fa97b0)
#21 MakeItSo<void (content::BrowserGpuChannelHostFactory::EstablishRequest::*)(), scoped_refptr<content::BrowserGpuChannelHostFactory::EstablishRequest> > base/bind_internal.h:607 (browser_tests+0x5fa97b0)
#22 RunImpl<void (content::BrowserGpuChannelHostFactory::EstablishRequest::*)(), std::__1::tuple<scoped_refptr<content::BrowserGpuChannelHostFactory::EstablishRequest> >, 0> base/bind_internal.h:681 (browser_tests+0x5fa97b0)
#23 base::internal::Invoker<base::internal::BindState<void (content::BrowserGpuChannelHostFactory::EstablishRequest::*)(), scoped_refptr<content::BrowserGpuChannelHostFactory::EstablishRequest> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (browser_tests+0x5fa97b0)
#24 Run base/callback.h:96:12 (browser_tests+0x849cd8b)
#25 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (browser_tests+0x849cd8b)
#26 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:126:19 (browser_tests+0x84da5fe)
#27 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25 (browser_tests+0x84d7b43)
#28 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:329:5 (browser_tests+0x84d802c)
#29 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:16 (browser_tests+0x84d83c5)
#30 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31 (browser_tests+0x85e86e4)
#31 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:271:12 (browser_tests+0x84d7237)
#32 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (browser_tests+0x84d7324)
#33 base::RunLoop::Run() base/run_loop.cc:102:14 (browser_tests+0x85238cf)
#34 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (browser_tests+0x8579beb)
#35 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:178:11 (browser_tests+0x5ce7976)
#36 content::BrowserProcessSubThread::Run(base::RunLoop*) content/browser/browser_process_sub_thread.cc:128:7 (browser_tests+0x5ce7883)
#37 base::Thread::ThreadMain() base/threading/thread.cc:337:3 (browser_tests+0x857a1cb)
#38 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x85e1188)
SUMMARY: ThreadSanitizer: data race components/crash/content/browser/crash_handler_host_linux.cc:487:18 in WillDestroyCurrentMessageLoop
Comment 1 by thakis@chromium.org
, Jun 7 2018