New issue
Advanced search Search tips

Issue 686938 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

mash: Ash crash on lid close

Project Member Reported by jamescook@chromium.org, Jan 31 2017

Issue description

OS 9224.0.0 dev-channel link test (from last week)
Chrome r446741 (also last week)

* stop ui
* Edit /etc/chrome_dev.conf to add --mash
* start ui
* Sign in to test account
* Close lid

On reopen the screen shows the browser window and the mouse moves, but nothing responds to clicks.

/var/log/messages shows:
2017-01-30T16:21:17.109088-08:00 WARNING crash_reporter[10169]: Received crash notification for chrome[9234] user 1000 (called directly)
2017-01-30T16:21:17.160718-08:00 INFO kernel: [  314.426836] chrome[9234]: segfault at 0 ip 00007ff9b1b513f8 sp 00007fff187e8ca0 error 4 in chrome[7ff9acfb5000+89d5000]
2017-01-30T16:21:17.178585-08:00 WARNING crash_reporter[10188]: [user] Received crash notification for chrome[9234] sig 11, user 1000 (ignoring call by kernel - chrome crash; waiting for chrome to call us directly)
2017-01-30T16:21:17.223817-08:00 NOTICE powerd_suspend[10216]: Going to suspend-to-RAM state: args=--suspend_duration=-1 --nosuspend_to_idle --wakeup_count=123
2017-01-30T16:21:17.273983-08:00 NOTICE powerd_suspend[10270]: Explicit sync
2017-01-30T16:21:18.444398-08:00 NOTICE powerd_suspend[10273]: Finalizing suspend
2017-01-30T16:21:18.485753-08:00 INFO kernel: [  315.713329] PM: Syncing filesystems ... done.

That pid (9234) seems to be ash because /var/log/ui/ui.LATEST shows:

[9234:9234:0130/162001.638273:238988594:ERROR:shell_delegate_mus.cc(116)] Not implemented reached in virtual bool ash::ShellDelegateMus::CanShowWindowForUser(ash::WmWindow*) const
[9234:9234:0130/162001.656882:239007204:ERROR:layer_tree_host_impl.cc(2198)] Forcing zero-copy tile initialization as worker context is missing
[9234:9234:0130/162003.100709:240451034:ERROR:wm_shell_mus.cc(229)] Not implemented reached in virtual const display::ManagedDisplayInfo& ash::mus::WmShellMus::GetDisplayInfo(int64_t) const

However, I don't get a backtrace in /var/log/ui :-(

 

Comment 1 by derat@chromium.org, Feb 1 2017

Status: Started (was: Assigned)
(Since it confused me for a bit, I'll mention that this doesn't happen if you unset --login-manager, since Chrome sends a policy to powerd with a no-op lid-closed action in that case.)

Comment 2 by derat@chromium.org, Feb 1 2017

Cc: rjkroege@chromium.org
Here's the crash:

Received signal 11 SEGV_MAPERR 000000000000
#0 0x7f20fbb2765d base::debug::StackTrace::StackTrace()
#1 0x7f20fbb27a50 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f20f89b0530 <unknown>
#3 0x7f20fd97bbb8 [13266:13340:0131/181516.246279:7693385509:ERROR:gles2_cmd_decoder.cc(7725)] [GroupMarkerNotSet( crbug.com/242999 )!:D01A633F8F360000]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
display::UpdateDisplayConfigurationTask::UpdateDisplayConfigurationTask()
#4 0x7f20fd9726d2 display::DisplayConfigurator::RunPendingConfiguration()
#5 0x7f20fd9729db display::DisplayConfigurator::SetDisplayPowerInternal()
#6 0x7f20fd973257 display::DisplayConfigurator::SuspendDisplays()
#7 0x7f20fda8447d ash::PowerEventObserver::SuspendImminent()
#8 0x7f20fc6a67c9 chromeos::PowerManagerClientImpl::HandleSuspendImminent()
#9 0x7f20fc701da4 dbus::ObjectProxy::RunMethod()
#10 0x7f20fc701fbe _ZN4base8internal7InvokerINS0_9BindStateIMN4dbus11ObjectProxyEFvNS_9TimeTicksESt6vectorINS_8CallbackIFvPNS3_6SignalEELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEESaISD_EES9_EJ13scoped_refptrIS4_ES5_SF_S9_EEEFvvEE3RunEPNS0_13BindStateBaseE
#11 0x7f20fbbc3a5b base::debug::TaskAnnotator::RunTask()
#12 0x7f20fbb4758f base::MessageLoop::RunTask()
#13 0x7f20fbb47a1e base::MessageLoop::DeferOrRunPendingTask()
#14 0x7f20fbb49ee8 base::MessageLoop::DoWork()
#15 0x7f20fbb4a449 base::MessagePumpLibevent::Run()
#16 0x7f20fbb4730a base::MessageLoop::RunHandler()
#17 0x7f20fbb6d95d base::RunLoop::Run()
#18 0x7f20f9b49b5f MashRunner::StartChildApp()
#19 0x7f20f9b48694 _ZN4base8internal7InvokerINS0_9BindStateIM10MashRunnerFvN4mojo16InterfaceRequestIN15service_manager5mojom7ServiceEEEEJNS0_17UnretainedWrapperIS3_EEEEEFvS9_EE3RunEPNS0_13BindStateBaseEOS9_
#20 0x7f20f9f004ee service_manager::RunStandaloneService()
#21 0x7f20f9b4889c MashRunner::RunChild()
#22 0x7f20f9b4997e MashMain()
#23 0x7f20f9b46c35 ChromeMain
#24 0x7f20f763b796 __libc_start_main
#25 0x7f20f9b469d9 _start
  r8: 0000000000000001  r9: 0000000000000000 r10: ffffe9530bbb5520 r11: 000000000000cf7f
 r12: 00007fff3fcf1bc0 r13: 00007fff3fcf1bd0 r14: 000016af0d478600 r15: 000016af0d41d270
  di: 0000000000000000  si: 00007fff3fcf1bc0  bp: 00007fff3fcf1b80  bx: 000016af0e207f30
  dx: 0000000000000000  ax: 000016af0d478600  cx: 0000000000000000  sp: 00007fff3fcf1b70
  ip: 00007f20fd97bbb8 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000014003 cr2: 0000000000000000
[end of stack trace]

Comment 3 by derat@chromium.org, Feb 1 2017

It looks like the NativeDisplayDelegate::GrabServer[1] call in UpdateDisplayConfigurationTask's c'tor is crashing due to the delegate being null.

1. Hmm, just noticed that we still have NativeDisplayDelegateX11. Presumably we can delete it now, along with the GrabServer and UngrabServer methods in the interface... not that it helps with this crash.
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b892c8633d4e17894340683093748d229dcd3e7

commit 2b892c8633d4e17894340683093748d229dcd3e7
Author: derat <derat@chromium.org>
Date: Tue Feb 14 21:25:21 2017

mash: Disable calls to suspend and resume displays.

To avoid crashes when suspending or resuming, make
ash::PowerEventObserver skip calling
DisplayConfigurator::SuspendDisplays or ResumeDisplays when
running in mash. Once mus exposes this functionality, these
calls should go through it instead.

BUG= 686938 , 692193 

Review-Url: https://codereview.chromium.org/2690263005
Cr-Commit-Position: refs/heads/master@{#450480}

[modify] https://crrev.com/2b892c8633d4e17894340683093748d229dcd3e7/ash/system/chromeos/power/power_event_observer.cc

Comment 5 by derat@chromium.org, Feb 14 2017

Status: Fixed (was: Started)

Comment 6 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 7 by dchan@google.com, May 30 2017

Labels: VerifyIn-60

Comment 8 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61

Comment 9 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment