New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 780853 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocking:
issue 611505



Sign in to add a comment

mus does not deal with viz restart

Project Member Reported by sadrul@chromium.org, Nov 2 2017

Issue description

With --mus --enable-viz, if the viz process is killed (from the task-manager in chrome, for example), then mus crashes. Following is the uaf stack trace from asan:

==8093==ERROR: AddressSanitizer: heap-use-after-free on address 0x602000036330 at pc 0x7f6455fd5638 bp 0x7f642ab9da50 sp 0x7f642ab9da48
READ of size 8 at 0x602000036330 thread T22 (mus)
    #0 0x7f6455fd5637 in viz::HostFrameSinkManager::RegisterFrameSinkId(viz::FrameSinkId const&, viz::HostFrameSinkClient*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../components/viz/host/host_frame_sink_manager.cc:65:24
    #1 0x558271fa1def in ui::ws::ServerWindow::ServerWindow(ui::ws::ServerWindowDelegate*, ui::ws::WindowId const&, viz::FrameSinkId const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/ws/server_window.cc:59:30
    #2 0x558271f1caba in ui::ws::WindowServer::CreateServerWindow(ui::ws::WindowId const&, viz::FrameSinkId const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/ws/window_server.cc:118:30
    #3 0x558271f35db3 in ui::ws::WindowTree::NewWindow(viz::FrameSinkId const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/ws/window_tree.cc:484:42
    #4 0x558271f479a5 in ui::ws::WindowTree::NewWindow(unsigned int, unsigned int, base::Optional<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > > const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/ws/window_tree.cc:1532:7
    #5 0x55826ac9e1e2 in ui::mojom::WindowTreeStubDispatch::Accept(ui::mojom::WindowTree*, mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/gen/services/ui/public/interfaces/window_tree.mojom.cc:2039:13
    #6 0x7f647fb80b23 in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:418:32
    #7 0x7f647fb7f107 in mojo::FilterChain::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
    #8 0x7f647fb84daa in mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:305:19
    #9 0x7f647fbab2b0 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:880:42
    #10 0x7f647fba930a in mojo::internal::MultiplexRouter::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:604:38
    #11 0x7f647fb7f107 in mojo::FilterChain::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
    #12 0x7f647fb6c50b in mojo::Connector::ReadSingleMessage(unsigned int*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:440:51
    #13 0x7f647fb6ed57 in mojo::Connector::ReadAllAvailableMessages() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:469:10
    #14 0x7f647fb6e703 in mojo::Connector::OnHandleReadyInternal(unsigned int) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:374:3
    #15 0x7f647fb701df in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #16 0x7f647fb701df in mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.h:193:0
    #17 0x7f647fadd4ae in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #18 0x7f647fadd4ae in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.cc:276:0
    #19 0x7f647fade6e4 in Invoke<const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:194:12
    #20 0x7f647fade6e4 in MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:297:0
    #21 0x7f647fade6e4 in void 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 ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:349:0
    #22 0x7f64826ab07e in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:64:12
    #23 0x7f64826ab07e in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/debug/task_annotator.cc:57:0
    #24 0x7f6482755b4e in base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/incoming_task_queue.cc:130:19
    #25 0x7f6482763104 in base::MessageLoop::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:394:25
    #26 0x7f648276433c in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:406:5
    #27 0x7f6482764c93 in base::MessageLoop::DoWork() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:450:16
    #28 0x7f648276e960 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_pump_libevent.cc:220:31
    #29 0x7f6482761bf3 in base::MessageLoop::Run(bool) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:345:12
    #30 0x7f64828254f0 in base::RunLoop::Run() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/run_loop.cc:114:14
    #31 0x7f6482904e63 in base::Thread::Run(base::RunLoop*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/thread.cc:255:13
    #32 0x7f6482905f89 in base::Thread::ThreadMain() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/thread.cc:338:3
    #33 0x7f64828e47e2 in base::(anonymous namespace)::ThreadFunc(void*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/platform_thread_posix.cc:75:13
    #34 0x7f6454d62183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0

0x602000036330 is located 0 bytes inside of 16-byte region [0x602000036330,0x602000036340)
freed by thread T22 (mus) here:
    #0 0x5582698cef02 in operator delete(void*) ??:0:0
    #1 0x7f6455fd4bfb in operator() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../buildtools/third_party/libc++/trunk/include/memory:2272:5
    #2 0x7f6455fd4bfb in reset /usr/local/google/home/sadrul/devel/c/src/out/cros/../../buildtools/third_party/libc++/trunk/include/memory:2585:0
    #3 0x7f6455fd4bfb in ~unique_ptr /usr/local/google/home/sadrul/devel/c/src/out/cros/../../buildtools/third_party/libc++/trunk/include/memory:2539:0
    #4 0x7f6455fd4bfb in ~InterfacePtrState /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_ptr_state.h:110:0
    #5 0x7f6455fd4bfb in reset /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/interface_ptr.h:131:0
    #6 0x7f6455fd4bfb in viz::HostFrameSinkManager::OnConnectionLost() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../components/viz/host/host_frame_sink_manager.cc:254:0
    #7 0x7f647fb8522c in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:64:12
    #8 0x7f647fb8522c in mojo::InterfaceEndpointClient::NotifyError(base::Optional<mojo::DisconnectReason> const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:325:0
    #9 0x7f647fbad29e in mojo::internal::MultiplexRouter::ProcessNotifyErrorTask(mojo::internal::MultiplexRouter::Task*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:800:13
    #10 0x7f647fba4370 in mojo::internal::MultiplexRouter::ProcessTasks(mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:713:15
    #11 0x7f647fb9f21d in mojo::internal::MultiplexRouter::OnPipeConnectionError() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:682:3
    #12 0x7f647fb6b2ee in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:64:12
    #13 0x7f647fb6b2ee in mojo::Connector::HandleError(bool, bool) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:534:0
    #14 0x7f647fb6e6f8 in mojo::Connector::OnHandleReadyInternal(unsigned int) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:370:5
    #15 0x7f647fb701df in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #16 0x7f647fb701df in mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.h:193:0
    #17 0x7f647fadd4ae in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #18 0x7f647fadd4ae in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.cc:276:0
    #19 0x7f647fade6e4 in Invoke<const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:194:12
    #20 0x7f647fade6e4 in MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:297:0
    #21 0x7f647fade6e4 in void 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 ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:349:0
    #22 0x7f64826ab07e in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:64:12
    #23 0x7f64826ab07e in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/debug/task_annotator.cc:57:0
    #24 0x7f6482755b4e in base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/incoming_task_queue.cc:130:19
    #25 0x7f6482763104 in base::MessageLoop::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:394:25
    #26 0x7f648276433c in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:406:5
    #27 0x7f6482764c93 in base::MessageLoop::DoWork() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:450:16
    #28 0x7f648276e960 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_pump_libevent.cc:220:31
    #29 0x7f6482761bf3 in base::MessageLoop::Run(bool) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:345:12
    #30 0x7f64828254f0 in base::RunLoop::Run() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/run_loop.cc:114:14
    #31 0x7f6482904e63 in base::Thread::Run(base::RunLoop*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/thread.cc:255:13
    #32 0x7f6482905f89 in base::Thread::ThreadMain() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/thread.cc:338:3
    #33 0x7f64828e47e2 in base::(anonymous namespace)::ThreadFunc(void*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/threading/platform_thread_posix.cc:75:13
    #34 0x7f6454d62183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0

previously allocated by thread T22 (mus) here:
    #0 0x5582698ce2e2 in operator new(unsigned long) ??:0:0
    #1 0x7f6455fdd45e in make_unique<viz::mojom::FrameSinkManagerProxy, mojo::InterfaceEndpointClient *> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../buildtools/third_party/libc++/trunk/include/memory:3065:28
    #2 0x7f6455fdd45e in mojo::internal::InterfacePtrState<viz::mojom::FrameSinkManager>::ConfigureProxyIfNecessary() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_ptr_state.h:209:0
    #3 0x7f6455fd4529 in instance /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_ptr_state.h:113:5
    #4 0x7f6455fd4529 in get /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/interface_ptr.h:93:0
    #5 0x7f6455fd4529 in viz::HostFrameSinkManager::BindAndSetManager(mojo::InterfaceRequest<viz::mojom::FrameSinkManagerClient>, scoped_refptr<base::SingleThreadTaskRunner>, mojo::InterfacePtr<viz::mojom::FrameSinkManager>) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../components/viz/host/host_frame_sink_manager.cc:40:0
    #6 0x558271f1c63f in ui::ws::WindowServer::CreateFrameSinkManager() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/ws/window_server.cc:733:29
    #7 0x55826c4fc623 in ui::Service::OnStart() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/ui/service.cc:282:19

    #8 0x7f6474ad2976 in service_manager::ServiceContext::OnStart(service_manager::Identity const&, base::OnceCallback<void (mojo::InterfaceRequest<service_manager::mojom::Connector>, mojo::AssociatedInterfaceRequest<service_manager::mojom::ServiceControl>)>) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../services/service_manager/public/cpp/service_context.cc:125:13
    #9 0x7f6474a680e8 in service_manager::mojom::ServiceStubDispatch::AcceptWithResponder(service_manager::mojom::Service*, mojo::Message*, std::__1::unique_ptr<mojo::MessageReceiverWithStatus, std::__1::default_delete<mojo::MessageReceiverWithStatus> >) /usr/local/google/home/sadrul/devel/c/src/out/cros/gen/services/service_manager/public/interfaces/service.mojom.cc:446:13
    #10 0x7f6474ad628c in service_manager::mojom::ServiceStub<mojo::RawPtrImplRefTraits<service_manager::mojom::Service> >::AcceptWithResponder(mojo::Message*, std::__1::unique_ptr<mojo::MessageReceiverWithStatus, std::__1::default_delete<mojo::MessageReceiverWithStatus> >) /usr/local/google/home/sadrul/devel/c/src/out/cros/gen/services/service_manager/public/interfaces/service.mojom.h:173:12
    #11 0x7f647fb80a6f in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:393:34
    #12 0x7f647fb7f107 in mojo::FilterChain::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
    #13 0x7f647fb84daa in mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:305:19
    #14 0x7f647fbab2b0 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:880:42
    #15 0x7f647fba930a in mojo::internal::MultiplexRouter::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/multiplex_router.cc:604:38
    #16 0x7f647fb7f107 in mojo::FilterChain::Accept(mojo::Message*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
    #17 0x7f647fb6c50b in mojo::Connector::ReadSingleMessage(unsigned int*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:440:51
    #18 0x7f647fb6ed57 in mojo::Connector::ReadAllAvailableMessages() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:469:10
    #19 0x7f647fb6e703 in mojo::Connector::OnHandleReadyInternal(unsigned int) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/bindings/lib/connector.cc:374:3
    #20 0x7f647fb701df in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #21 0x7f647fb701df in mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.h:193:0
    #22 0x7f647fadd4ae in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:92:12
    #23 0x7f647fadd4ae in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../mojo/public/cpp/system/simple_watcher.cc:276:0
    #24 0x7f647fade6e4 in Invoke<const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:194:12
    #25 0x7f647fade6e4 in MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:297:0
    #26 0x7f647fade6e4 in void 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 ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/bind_internal.h:349:0
    #27 0x7f64826ab07e in Run /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/callback.h:64:12
    #28 0x7f64826ab07e in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/debug/task_annotator.cc:57:0
    #29 0x7f6482755b4e in base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/incoming_task_queue.cc:130:19
    #30 0x7f6482763104 in base::MessageLoop::RunTask(base::PendingTask*) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:394:25
    #31 0x7f648276433c in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:406:5
    #32 0x7f6482764c93 in base::MessageLoop::DoWork() /usr/local/google/home/sadrul/devel/c/src/out/cros/../../base/message_loop/message_loop.cc:450:16


It looks like the window-sever is not triggering HostFrameSinkManager to resetup the connection .
 
Reconnecting HostFrameSinkManager is fairly simple to fix. GpuHost and GpuClients are broken after GPU process crash which is a bit harder.

Comment 2 by laforge@google.com, Nov 8 2017

Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.
sadrul: Can we drop this task until after we decide how viz is going to interfact with mus?

Comment 4 by sadrul@chromium.org, Nov 16 2017

This is not a high priority right now, since mus and viz will be decoupled soon.
Cc: kylec...@chromium.org
Owner: ----
Status: Available (was: Assigned)
Components: -Internals>MUS Internals>Services>WindowService
Labels: -Proj-Mustash-Mus-WS
Deprecating label Proj-Mustash-Mus-WS in favor of Components.

Sign in to add a comment