mash: Ash crash on lid close |
||||||||
Issue descriptionOS 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 :-(
,
Feb 1 2017
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]
,
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.
,
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
,
Feb 14 2017
,
Apr 17 2017
,
May 30 2017
,
Aug 1 2017
,
Oct 14 2017
,
Feb 26 2018
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by derat@chromium.org
, Feb 1 2017