New issue
Advanced search Search tips

Issue 717233 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DisplayManagerObserverProxy::OnDisplays fails to serialize in mash_browser_tests

Project Member Reported by jonr...@chromium.org, May 1 2017

Issue description

Another 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>
 
There are some NOTREACHED() in the EnumTraits for Display::TouchSupport and Display::Rotation. Was there a DCHECK that failed or what exactly happened?
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
Cc: sky@chromium.org
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 ?
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
Status: WontFix (was: Untriaged)
That area of code has changed a lot since, and I haven't seen the crash lately.
Components: -MUS Internals>Services>WindowService

Sign in to add a comment