mash: Startup crash in ui::DrmThreadProxy::AddBindingDrmDevice() |
|||||||
Issue descriptionBoth on chrome-informational and bvt-perbuild. Started ~2 weeks ago, but hard to tell exactly when. Happens across a variety of boards, including link. Interesting we're not seeing it in day-to-day development. Suspicious for a browser startup crash. Recent failure on link: Unhandled BrowserConnectionGoneException: Timed out while waiting 240s for HasBrowserFinishedLaunching.. build artifacts: https://storage.cloud.google.com/?arg=chromeos-image-archive/link-release/R62-9901.25.0. results log: http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/results/143979717-chromeos-test/chromeos4-row10-rack4-host1/debug/. status log: http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/results/143979717-chromeos-test/chromeos4-row10-rack4-host1/status.log. job link: http://cautotest-prod.corp.google.com/afe/#tab_id=view_job&object_id=143979717. I'll pull a stack.
,
Sep 22 2017
Kyle or Sadrul, can you find an owner for this? I would give it to Rob, but I think he's OOO. I looked at 3 stacks, on the boards link and tricky. (Crashes in the lab are now symbolized! No more minidump_stackwalk!) All 3 crashed in ui::DrmThreadProxy::AddBindingDrmDevice() Operating system: Linux CPU: amd64 GPU: UNKNOWN Crash reason: SIGSEGV Crash address: 0x0 Process uptime: not available Thread 0 (crashed) 0 chrome!base::subtle::RefCountedThreadSafeBase::AddRef() const [task_runner.cc : 44 + 0x0] 1 chrome!ui::DrmThreadProxy::AddBindingDrmDevice(mojo::InterfaceRequest<ui::ozone::mojom::DrmDevice>) [drm_thread_proxy.cc : 80 + 0xf] 2 chrome!ui::(anonymous namespace)::OzonePlatformGbm::CreateDrmDeviceBinding(mojo::InterfaceRequest<ui::ozone::mojom::DrmDevice>, service_manager::BindSourceInfo const&) [ozone_platform_gbm.cc : 139 + 0x8] 3 chrome!base::internal::Invoker<base::internal::BindState<void (ui::(anonymous namespace)::OzonePlatformGbm::*)(mojo::InterfaceRequest<ui::ozone::mojom::DeviceCursor>, service_manager::BindSourceInfo const&), base::WeakPtr<ui::(anonymous namespace)::OzonePlatformGbm> >, void (mojo::InterfaceRequest<ui::ozone::mojom::DeviceCursor>, service_manager::BindSourceInfo const&)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<ui::ozone::mojom::DeviceCursor>&&, service_manager::BindSourceInfo const&) [bind_internal.h : 194 + 0x3] 4 chrome!service_manager::CallbackBinder<catalog::mojom::Catalog, service_manager::BindSourceInfo const&>::BindInterface(std::string const&, mojo::ScopedHandleBase<mojo::MessagePipeHandle>, service_manager::BindSourceInfo const&) [callback.h : 92 + 0x6] 5 chrome!service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>::BindInterface(std::string const&, mojo::ScopedHandleBase<mojo::MessagePipeHandle>, content::RenderFrameHost*) [binder_registry.h : 86 + 0x8] 6 chrome!ui::Service::OnBindInterface(service_manager::BindSourceInfo const&, std::string const&, mojo::ScopedHandleBase<mojo::MessagePipeHandle>) [binder_registry.h : 103 + 0xe] 7 chrome!service_manager::ServiceContext::OnBindInterface(service_manager::BindSourceInfo const&, std::string const&, mojo::ScopedHandleBase<mojo::MessagePipeHandle>, base::OnceCallback<void ()>) [service_context.cc : 143 + 0x9] 8 chrome!service_manager::mojom::ServiceStubDispatch::AcceptWithResponder(service_manager::mojom::Service*, mojo::Message*, std::unique_ptr<mojo::MessageReceiverWithStatus, std::default_delete<mojo::MessageReceiverWithStatus> >) [service.mojom.cc : 463 + 0x9] 9 chrome!service_manager::mojom::ServiceStub<mojo::RawPtrImplRefTraits<service_manager::mojom::Service> >::AcceptWithResponder(mojo::Message*, std::unique_ptr<mojo::MessageReceiverWithStatus, std::default_delete<mojo::MessageReceiverWithStatus> >) [service.mojom.h : 154 + 0x5] 10 chrome!mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) [interface_endpoint_client.cc : 393 + 0x5] 11 chrome!mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) [multiplex_router.cc : 885 + 0x8] 12 chrome!mojo::internal::MultiplexRouter::Accept(mojo::Message*) [multiplex_router.cc : 609 + 0xb] 13 chrome!mojo::Connector::ReadSingleMessage(unsigned int*) [connector.cc : 440 + 0xd] 14 chrome!mojo::Connector::ReadAllAvailableMessages() [connector.cc : 469 + 0xb] 15 chrome!(anonymous namespace)::OnCopyFileLocalError(base::RepeatingCallback<void (base::File::Error)> const&, base::File::Error) + 0x22 16 chrome!mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) [callback.h : 92 + 0x6] 17 chrome!base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [callback.h : 64 + 0x3] 18 chrome!base::MessageLoop::RunTask(base::PendingTask*) [message_loop.cc : 406 + 0x8] 19 chrome!base::MessageLoop::DoWork() [message_loop.cc : 417 + 0xb] 20 chrome!base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) [message_pump_libevent.cc : 220 + 0x9] 21 chrome!mojo::internal::ArrayDataTraits<mojo::internal::Pointer<ash::mojom::internal::MenuItem_Data> >::GetStorageSize(unsigned int) [run_loop.cc : 118 + 0x5] 22 chrome!base::internal::Invoker<base::internal::BindState<service_manager::(anonymous namespace)::RunService(service_manager::MainDelegate*)::$_0, service_manager::MainDelegate*, int*>, void (mojo::InterfaceRequest<service_manager::mojom::Service>)>::Run(base::internal::BindStateBase*, mojo::InterfaceRequest<service_manager::mojom::Service>&&) [main.cc : 313 + 0x8] 23 chrome!service_manager::RunStandaloneService(base::RepeatingCallback<void (mojo::InterfaceRequest<service_manager::mojom::Service>)> const&) [callback.h : 92 + 0x6] 24 chrome!service_manager::Main(service_manager::MainParams const&) [main.cc : 285 + 0x8] 25 chrome!content::ContentMain(content::ContentMainParams const&) [content_main.cc : 19 + 0x8] 26 chrome!ChromeMain [chrome_main.cc : 122 + 0x5] 27 libc-2.23.so!__libc_start_main [libc-start.c : 289 + 0x1a] 28 chrome!_start + 0x29 29 0x7ffc4eae3068 Thread 1 0 libc-2.23.so!__strncasecmp_l_avx + 0xd 1 libxkbcommon.so.0.0.0!gettok [scanner-utils.h : 133 + 0xd] 2 libxkbcommon.so.0.0.0!xkb_components_from_rules [rules.c : 904 + 0x8] 3 libxkbcommon.so.0.0.0!text_v1_keymap_new_from_names [xkbcomp.c : 66 + 0x8] 4 libxkbcommon.so.0.0.0!xkb_keymap_new_from_names [keymap.c : 148 + 0x9] 5 chrome!ui::(anonymous namespace)::LoadKeymap(std::string const&, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<void (std::string const&, std::unique_ptr<char, base::FreeDeleter>)> const&) [xkb_keyboard_layout_engine.cc : 628 + 0xa] 6 chrome!base::internal::Invoker<base::internal::BindState<void (*)(base::FilePath const&, scoped_refptr<base::TaskRunner> const&, base::RepeatingCallback<void (base::FilePath const&, base::FilePath const&, std::unique_ptr<ui::DrmDeviceHandle, std::default_delete<ui::DrmDeviceHandle> >)> const&), base::FilePath, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<void (base::FilePath const&, base::FilePath const&, std::unique_ptr<ui::DrmDeviceHandle, std::default_delete<ui::DrmDeviceHandle> >)> >, void ()>::Run(base::internal::BindStateBase*) [bind_internal.h : 149 + 0x2] 7 chrome!base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [callback.h : 64 + 0x3] 8 chrome!base::internal::TaskTracker::RunOrSkipTask(std::unique_ptr<base::internal::Task, std::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) [task_tracker.cc : 336 + 0xf] 9 chrome!base::internal::TaskTrackerPosix::RunOrSkipTask(std::unique_ptr<base::internal::Task, std::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) [task_tracker_posix.cc : 23 + 0x13] 10 chrome!base::internal::TaskTracker::RunNextTask(base::internal::Sequence*) [task_tracker.cc : 250 + 0x11] 11 chrome!base::internal::SchedulerWorker::Thread::ThreadMain() [scheduler_worker.cc : 73 + 0x5] 12 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 13 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 14 libc-2.23.so!clone + 0x6d Thread 2 0 libpthread-2.23.so!pthread_cond_timedwait + 0x128 1 chrome!base::ConditionVariable::TimedWait(base::TimeDelta const&) [condition_variable_posix.cc : 120 + 0x8] 2 chrome!base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&) [waitable_event_posix.cc : 225 + 0x13] 3 chrome!base::WaitableEvent::TimedWait(base::TimeDelta const&) [waitable_event_posix.cc : 165 + 0x8] 4 chrome!base::internal::SchedulerWorker::Delegate::WaitForWork(base::WaitableEvent*) [scheduler_worker.cc : 175 + 0x8] 5 chrome!base::internal::SchedulerWorker::Thread::ThreadMain() [scheduler_worker.cc : 42 + 0x6] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 3 0 libc-2.23.so!__epoll_wait_nocancel + 0x2a 1 chrome!epoll_dispatch [epoll.c : 198 + 0x8] 2 chrome!event_base_loop [event.c : 512 + 0x11] 3 chrome!base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) [message_pump_libevent.cc : 247 + 0xa] 4 chrome!mojo::internal::ArrayDataTraits<mojo::internal::Pointer<ash::mojom::internal::MenuItem_Data> >::GetStorageSize(unsigned int) [run_loop.cc : 118 + 0x5] 5 chrome!base::Thread::ThreadMain() [thread.cc : 338 + 0xc] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 4 0 ld-2.23.so!_dl_map_object [dl-load.c : 1962 + 0x0] 1 ld-2.23.so!dl_open_worker [dl-open.c : 226 + 0x28] 2 ld-2.23.so!_dl_catch_error [dl-error.c : 187 + 0xd] 3 ld-2.23.so!_dl_open [dl-open.c : 649 + 0x5] 4 libdl-2.23.so!dlopen_doit [dlopen.c : 66 + 0x8] 5 ld-2.23.so!_dl_catch_error [dl-error.c : 187 + 0xd] 6 libdl-2.23.so!_dlerror_run [dlerror.c : 163 + 0x1f] 7 libdl-2.23.so!__dlopen [dlopen.c : 87 + 0x5] 8 chrome!base::LoadNativeLibraryWithOptions(base::FilePath const&, base::NativeLibraryOptions const&, base::NativeLibraryLoadError*) [native_library_posix.cc : 42 + 0x5] 9 chrome!base::LoadNativeLibrary(base::FilePath const&, base::NativeLibraryLoadError*) [native_library.cc : 11 + 0x8] 10 chrome!ui::LoadDefaultEGLGLES2Bindings(gl::GLImplementation) [egl_util.cc : 29 + 0x8] 11 chrome!ui::GLOzoneEGL::InitializeStaticGLBindings(gl::GLImplementation) [gl_ozone_egl.cc : 28 + 0x6] 12 chrome!gl::init::InitializeGLOneOffImplementation(gl::GLImplementation, bool, bool, bool, bool) [gl_factory.cc : 81 + 0x5] 13 chrome!gl::init::(anonymous namespace)::InitializeGLOneOffHelper(bool) [gl_factory.cc : 58 + 0x16] 14 chrome!gl::init::InitializeGLNoExtensionsOneOff() [gl_factory.cc : 72 + 0x7] 15 chrome!gpu::GpuInit::InitializeAndStartSandbox(base::CommandLine*, bool) [gpu_init.cc : 204 + 0x5] 16 chrome!ui::GpuMain::InitOnGpuThread(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>) [gpu_main.cc : 158 + 0x10] 17 chrome!base::internal::Invoker<base::internal::BindState<void (ui::GpuMain::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>), base::internal::UnretainedWrapper<ui::GpuMain>, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner> >, void ()>::Run(base::internal::BindStateBase*) [bind_internal.h : 194 + 0x2] 18 chrome!base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [callback.h : 64 + 0x3] 19 chrome!base::MessageLoop::RunTask(base::PendingTask*) [message_loop.cc : 406 + 0x8] 20 chrome!base::MessageLoop::DoWork() [message_loop.cc : 417 + 0xb] 21 chrome!base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [message_pump_default.cc : 33 + 0xa] 22 chrome!mojo::internal::ArrayDataTraits<mojo::internal::Pointer<ash::mojom::internal::MenuItem_Data> >::GetStorageSize(unsigned int) [run_loop.cc : 118 + 0x5] 23 chrome!base::Thread::ThreadMain() [thread.cc : 338 + 0xc] 24 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 25 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 26 libc-2.23.so!clone + 0x6d Thread 5 0 libc-2.23.so!clone + 0x31 1 libpthread-2.23.so + 0x71f0 Thread 6 0 libpthread-2.23.so!pthread_cond_timedwait + 0x128 1 chrome!base::ConditionVariable::TimedWait(base::TimeDelta const&) [condition_variable_posix.cc : 120 + 0x8] 2 chrome!base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&) [waitable_event_posix.cc : 225 + 0x13] 3 chrome!base::WaitableEvent::TimedWait(base::TimeDelta const&) [waitable_event_posix.cc : 165 + 0x8] 4 chrome!base::internal::SchedulerWorker::Delegate::WaitForWork(base::WaitableEvent*) [scheduler_worker.cc : 175 + 0x8] 5 chrome!base::internal::SchedulerWorker::Thread::ThreadMain() [scheduler_worker.cc : 42 + 0x6] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 7 0 libpthread-2.23.so!pthread_cond_timedwait + 0x128 1 chrome!base::ConditionVariable::TimedWait(base::TimeDelta const&) [condition_variable_posix.cc : 120 + 0x8] 2 chrome!base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&) [waitable_event_posix.cc : 225 + 0x13] 3 chrome!base::WaitableEvent::TimedWait(base::TimeDelta const&) [waitable_event_posix.cc : 165 + 0x8] 4 chrome!base::internal::SchedulerWorker::Delegate::WaitForWork(base::WaitableEvent*) [scheduler_worker.cc : 175 + 0x8] 5 chrome!base::internal::SchedulerWorker::Thread::ThreadMain() [scheduler_worker.cc : 42 + 0x6] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 8 0 libc-2.23.so!__epoll_wait_nocancel + 0x2a 1 chrome!epoll_dispatch [epoll.c : 198 + 0x8] 2 chrome!event_base_loop [event.c : 512 + 0x11] 3 chrome!base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) [message_pump_libevent.cc : 247 + 0xa] 4 chrome!mojo::internal::ArrayDataTraits<mojo::internal::Pointer<ash::mojom::internal::MenuItem_Data> >::GetStorageSize(unsigned int) [run_loop.cc : 118 + 0x5] 5 chrome!base::Thread::ThreadMain() [thread.cc : 338 + 0xc] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 9 0 libc-2.23.so!__epoll_wait_nocancel + 0x2a 1 chrome!epoll_dispatch [epoll.c : 198 + 0x8] 2 chrome!event_base_loop [event.c : 512 + 0x11] 3 chrome!base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) [message_pump_libevent.cc : 247 + 0xa] 4 chrome!mojo::internal::ArrayDataTraits<mojo::internal::Pointer<ash::mojom::internal::MenuItem_Data> >::GetStorageSize(unsigned int) [run_loop.cc : 118 + 0x5] 5 chrome!base::Thread::ThreadMain() [thread.cc : 338 + 0xc] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d Thread 10 0 libpthread-2.23.so!pthread_cond_timedwait + 0x128 1 chrome!base::ConditionVariable::TimedWait(base::TimeDelta const&) [condition_variable_posix.cc : 120 + 0x8] 2 chrome!base::WaitableEvent::TimedWaitUntil(base::TimeTicks const&) [waitable_event_posix.cc : 225 + 0x13] 3 chrome!base::WaitableEvent::TimedWait(base::TimeDelta const&) [waitable_event_posix.cc : 165 + 0x8] 4 chrome!base::internal::SchedulerWorker::Delegate::WaitForWork(base::WaitableEvent*) [scheduler_worker.cc : 175 + 0x8] 5 chrome!base::internal::SchedulerWorker::Thread::ThreadMain() [scheduler_worker.cc : 42 + 0x6] 6 chrome!base::(anonymous namespace)::ThreadFunc(void*) [platform_thread_posix.cc : 75 + 0x8] 7 libpthread-2.23.so!start_thread [pthread_create.c : 333 + 0x11] 8 libc-2.23.so!clone + 0x6d
,
Sep 24 2017
Yep, Rob is OOO for a while. I'll try to reproduce on Monday.
,
Sep 25 2017
It looks like there is a race between registering interfaces for the GPU thread and starting the GPU thread. I think the main issue is that GPU interfaces are registered from the WS thread. The code tries to register the GPU interfaces with the GPU thread task runner, but that task runner doesn't necessarily exist yet and might be nullptr. Service::OnStart() does things in the following order. 1. Runs OzonePlatform::InitializeForUI() to initialize WS parts of OzonePlatform. 2. Creates ws::GpuHost. This triggers GPU thread start. OzonePlatform::InitializeForGPU() is called on the GPU thread when it starts. 3. Registers mojom interfaces with BinderRegistry. OzonePlatform::AddInterfaces() is the last one added. If #3 happens before the GPU thread initialization has reached OzonePlatform::InitializeForGPU() then |gpu_task_runner_| is null. BinderRegistry::AddInterface() has the lovely property that task_runner==nullptr means use the current threads task runner. The endpoint for ozone::mojom::DrmDevice is in the WS thread instead of the GPU thread now and things crash.
,
Sep 25 2017
I was able to reproduce |gpu_task_runner_| being null still when interfaces are added. I'm pretty sure that is related to the problem, but there is an extra thread hop to the DRM thread I missed. Will need to dig a bit more.
,
Sep 26 2017
I haven't been able to reproduce a crash after many iterations of running desktopui_MashLogin. However, looking at the code/stack trace I see a couple interesting things. The GPU thread has passed the point in GpuInit where OzonePlatform::InitializeForGPU() has run. This means that DrmThreadProxy should exist and DrmThreadProxy::StartDrmThread() will have run. DrmThreadProxy::AddBindingDrmDevice() is being run on the WS thread instead of the GPU thread. This isn't correct and is probably the source of the problem. DrmThreadProxy::AddBindingDrmDevice() gets the TaskRunner for the Drm thread and then PostTasks to it. The issue is that Thread::task_runner() can only be called from the GPU thread (which owns the Thread object) or DRM thread itself. I think the correct solution is to register GPU interfaces from the GPU thread only. Any thoughts rjkroege?
,
Oct 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/c338a6fbf4dd60d4e8dd89e091f1ce198f3337fd commit c338a6fbf4dd60d4e8dd89e091f1ce198f3337fd Author: James Cook <jamescook@chromium.org> Date: Mon Oct 02 22:53:53 2017 autotest: Disable desktopui_MashLogin on the R62 branch It tests an experimental flag for chrome that isn't shipping in M62. Disable it to reduce spam from a known flaky failure. BUG= chromium:767898 TEST=desktopui_MashLogin Change-Id: I112a7062d6663df065ddfa1463c39b14d94fdf21 Reviewed-on: https://chromium-review.googlesource.com/696285 Tested-by: James Cook <jamescook@chromium.org> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/c338a6fbf4dd60d4e8dd89e091f1ce198f3337fd/client/site_tests/desktopui_MashLogin/control
,
Oct 12 2017
,
Feb 26 2018
,
Apr 2 2018
We just had a couple more instances of this: Test: desktopui_MashLogin. Suite: bvt-perbuild. Chrome Version: 67.0.3381.0. Build: nautilus-release/R67-10525.0.0. Reason: Unhandled BrowserConnectionGoneException: Timed out while waiting 240s for _GetDevToolsClient.. build artifacts: https://storage.cloud.google.com/?arg=chromeos-image-archive/nautilus-release/R67-10525.0.0. results log: http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/results/187274989-chromeos-test/chromeos2-row8-rack9-host2/debug/. Test: desktopui_MashLogin. Suite: bvt-perbuild. Chrome Version: 67.0.3383.0. Build: eve-release/R67-10530.0.0. Reason: Unhandled BrowserConnectionGoneException: Timed out while waiting 240s for _GetDevToolsClient.. build artifacts: https://storage.cloud.google.com/?arg=chromeos-image-archive/eve-release/R67-10530.0.0. results log: http://ubercautotest.corp.google.com/tko/retrieve_logs.cgi?job=/results/187852771-chromeos-test/chromeos6-row4-rack11-host5/debug/. Is it possible this is related to the desktopui_MusLogin crash, issue 824809?
,
Apr 16 2018
kylechar@'s change fixed this?
,
Apr 16 2018
Ya this should be the same issue as crbug.com/824809. It looks like desktop_MashLogin was stable for a few days after my change landed so I'm marking this as fixed. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by jamescook@chromium.org
, Sep 22 2017