DisplayManagerObserverProxy::OnDisplays fails to serialize in mash_browser_tests |
||||
Issue descriptionAnother failure in mash_browser_tests. Not sure the cause: kylechar@ any thoughts? #0 0x00000366aa7c base::debug::StackTrace::StackTrace() #1 0x0000036832a1 logging::LogMessage::~LogMessage() #2 0x000001f348f8 mojo::internal::Serializer<>::Serialize() #3 0x000001f34318 mojo::internal::ArraySerializer<>::SerializeElements() #4 0x000001f341c2 mojo::internal::Serializer<>::Serialize() #5 0x000001f328d6 ui::mojom::DisplayManagerObserverProxy::OnDisplays() #6 0x000007fa5b5f ui::ws::UserDisplayManager::CallOnDisplays() #7 0x000007fa595c ui::ws::UserDisplayManager::AddObserver() #8 0x000001f33e02 ui::mojom::DisplayManagerStubDispatch::Accept() #9 0x000004891298 mojo::InterfaceEndpointClient::HandleValidatedMessage() #10 0x0000048a3d76 mojo::FilterChain::Accept() #11 0x0000048923a5 mojo::InterfaceEndpointClient::HandleIncomingMessage() #12 0x000004898e45 mojo::internal::MultiplexRouter::ProcessIncomingMessage() #13 0x000004898674 mojo::internal::MultiplexRouter::Accept() #14 0x0000048a3d76 mojo::FilterChain::Accept() #15 0x00000488f7ec mojo::Connector::ReadSingleMessage() #16 0x00000488fea1 mojo::Connector::ReadAllAvailableMessages() #17 0x00000488fd59 mojo::Connector::OnHandleReadyInternal() #18 0x0000048a573c mojo::SimpleWatcher::OnHandleReady() #19 0x00000253007f _ZN4base8internal7InvokerINS0_9BindStateIMN7content25ServiceWorkerProviderHostEFviN5blink21WebServiceWorkerStateEEJNS_7WeakPtrIS4_EEiS6_EEEFvvEE7RunImplIRKS8_RKSt5tupleIJSA_iS6_EEJLm0ELm1ELm2EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #20 0x0000006c8059 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv #21 0x000003719e54 base::debug::TaskAnnotator::RunTask() #22 0x00000368a8d9 base::MessageLoop::RunTask() #23 0x00000368ab6b base::MessageLoop::DeferOrRunPendingTask() #24 0x00000368b01d base::MessageLoop::DoWork() #25 0x00000368d799 base::MessagePumpLibevent::Run() #26 0x00000368a661 base::MessageLoop::RunHandler() #27 0x0000036b3339 base::RunLoop::Run() #28 0x00000365cb68 (anonymous namespace)::StartEmbeddedService() #29 0x0000022ef0fd _ZN4base8internal7InvokerINS0_9BindStateIPFvN4mojo16InterfaceRequestIN5blink5mojom19KeyboardLockServiceEEEEJEEES9_E3RunEPNS0_13BindStateBaseEOS8_ #30 0x00000200dcce service_manager::RunStandaloneService() #31 0x00000365c82d RunMashBrowserTests() #32 0x00000365c6a7 main #33 0x7f1491ed5f45 __libc_start_main #34 0x00000061a9de <unknown>
,
May 2 2017
A bit further up I see the following that I missed while filing. [0501/090713.940967:FATAL:window_manager_constants.mojom-shared.h(561)] The outgoing message will trigger VALIDATION_ERROR_UNEXPECTED_NULL_POINTER at the receiving side (null frame_decoration_values in WsDisplay struct). I do not see any NOTREACHED or DCHECK firing in the logs: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Flinux_chromium_chromeos_ozone_rel_ng%2F373799%2F%2B%2Frecipes%2Fsteps%2Fmash_browser_tests__with_patch_%2F0%2Fstdout I haven't tried locally yet
,
May 2 2017
Ah that sounds like WindowServer::GetFrameDecorationsForUser() is returning null FrameDecorationsValuePtr. https://cs.chromium.org/chromium/src/services/ui/ws/window_server.cc?sq=package:chromium&dr&l=566 UserDisplayManager isn't supposed to send display::Display until after it has the necessary state from the WM. That sounds like it got broken somehow? Maybe a race? I wonder if it might be related to sky's simplified display management CL https://codereview.chromium.org/2840043003 ?
,
May 2 2017
We don't check the return value of GetFrameDecorationsForUser() here which is part of the problem: https://cs.chromium.org/chromium/src/services/ui/ws/user_display_manager.cc?sq=package:chromium&dr&l=121
,
Aug 30 2017
That area of code has changed a lot since, and I haven't seen the crash lately.
,
Feb 26 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by kylec...@chromium.org
, May 2 2017