Chrome crashes on start on samus |
||||||
Issue descriptionOn ChromeOS samus, Without https://chromium-review.googlesource.com/849633, (i.e. the immediately prior CL) Chrome runs correctly. With https://chromium-review.googlesource.com/849633, Chrome crashes on start like this: [25779:25779:0111/194909.150774:ERROR:display_manager.cc(1818)] Could not find display:13761487533244416 [25779:25793:0111/194909.201987:ERROR:object_proxy.cc(626)] Failed to call method: org.chromium.SessionManagerInterface.RetrievePolicyEx: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.chromium.SessionManager was not provided by any .service files [25779:25779:0111/194909.202031:ERROR:device_settings_service.cc(314)] Session manager operation failed: 3 [25779:25779:0111/194909.202090:ERROR:device_settings_provider.cc(875)] Corruption of the policy data has been detected.Switching to "safe-mode" policies until the owner logs in to regenerate the policy data. [25779:25779:0111/194909.222741:ERROR:input_method_manager_impl.cc(1032)] IMEEngine for "fgoepimhcoialccpbmpnnblemnepkkao" is not registered [25779:25779:0111/194909.262517:ERROR:object_proxy.cc(626)] Failed to call method: org.chromium.SessionManagerInterface.GetServerBackedStateKeys: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.chromium.SessionManager was not provided by any .service files device-enumerator: scan all dirs device-enumerator: scanning /sys/bus device-enumerator: scanning /sys/class device-enumerator: scan all dirs device-enumerator: scanning /sys/bus device-enumerator: scanning /sys/class [25779:25779:0111/194909.293308:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293339:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293350:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293360:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293374:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293383:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293424:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.293434:ERROR:component_extension_ime_manager_impl.cc(138)] IME extension file path does not exist: /usr/share/chromeos-assets/input_methods/xkb [25779:25779:0111/194909.321003:ERROR:device_settings_service.cc(314)] Session manager operation failed: 3 [25779:25779:0111/194909.325527:ERROR:device_settings_provider.cc(875)] Corruption of the policy data has been detected.Switching to "safe-mode" policies until the owner logs in to regenerate the policy data. [25779:25779:0111/194909.335730:ERROR:device_settings_service.cc(314)] Session manager operation failed: 3 [25779:25779:0111/194909.335923:ERROR:device_settings_provider.cc(875)] Corruption of the policy data has been detected.Switching to "safe-mode" policies until the owner logs in to regenerate the policy data. [25779:25779:0111/194909.345940:FATAL:display_configurator.cc(546)] Check failed: current_display_state_ == MULTIPLE_DISPLAY_STATE_INVALID (2 vs. 0) #0 0x5920a07f443c base::debug::StackTrace::StackTrace() #1 0x5920a0812993 logging::LogMessage::~LogMessage() #2 0x5920a27cd7ca display::DisplayConfigurator::SetInitialDisplayPower() #3 0x5920a2e69b45 ash::DisplayPrefs::LoadDisplayPreferences() #4 0x5920a2e68a16 ash::DisplayPrefs::OnLocalStatePrefServiceInitialized() #5 0x5920a2ea58fc ash::Shell::OnLocalStatePrefServiceInitialized() #6 0x59209e518e4f _ZN4base8internal7InvokerINS0_9BindStateIMN6policy19URLBlacklistManagerEFvNSt3__110unique_ptrINS3_12URLBlacklistENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EEEEEFvSA_EE7RunImplISC_NS5_5tupleIJSE_EEEJLm0EEEEvOT_OT0_NS5_16integer_sequenceImJXspT1_EEEEOSA_ #7 0x59209e4f7277 prefs::(anonymous namespace)::OnConnect() #8 0x59209e4f82b6 _ZN4base8internal7InvokerINS0_9BindStateIPFv13scoped_refptrIN5prefs12_GLOBAL__N_122RefCountedInterfacePtrINS4_5mojom18PrefStoreConnectorEEEES3_I12PrefRegistryENS_17RepeatingCallbackIFvNSt3__110unique_ptrI11PrefServiceNSE_14default_deleteISG_EEEEEEEN4mojo9StructPtrINS7_29PersistentPrefStoreConnectionEEENSN_INS7_38IncognitoPersistentPrefStoreConnectionEEENSE_6vectorINSN_INS7_16PrefRegistrationEEENSE_9allocatorISU_EEEENSE_13unordered_mapIN14PrefValueStore13PrefStoreTypeENSN_INS7_19PrefStoreConnectionEEENSE_4hashIS10_EENSE_8equal_toIS10_EENSV_INSE_4pairIKS10_S12_EEEEEEEJSA_SC_SL_EEEFvSP_SR_SX_S1B_EE7RunOnceEPNS0_13BindStateBaseEOSP_OSR_OSX_OS1B_ #9 0x59209e4fce26 prefs::mojom::PrefStoreConnector_Connect_ForwardToCallback::Accept() #10 0x5920a147056a mojo::InterfaceEndpointClient::HandleValidatedMessage() #11 0x5920a1489e46 mojo::FilterChain::Accept() #12 0x5920a1471942 mojo::InterfaceEndpointClient::HandleIncomingMessage() #13 0x5920a147b362 mojo::internal::MultiplexRouter::ProcessIncomingMessage() #14 0x5920a147a7e7 mojo::internal::MultiplexRouter::Accept() #15 0x5920a1489e46 mojo::FilterChain::Accept() #16 0x5920a146f2dd mojo::Connector::ReadSingleMessage() #17 0x5920a146fd74 mojo::Connector::ReadAllAvailableMessages() #18 0x5920a146fbd6 mojo::Connector::OnHandleReadyInternal() #19 0x59209e413c14 mojo::SimpleWatcher::DiscardReadyState() #20 0x5920a1490d95 mojo::SimpleWatcher::OnHandleReady() #21 0x5920a149131e _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE #22 0x5920a07f4c98 base::debug::TaskAnnotator::RunTask() #23 0x5920a08bf656 base::internal::IncomingTaskQueue::RunTask() #24 0x5920a0819f0d base::MessageLoop::RunTask() #25 0x5920a081a314 base::MessageLoop::DeferOrRunPendingTask() #26 0x5920a081a5d2 base::MessageLoop::DoWork() #27 0x5920a081c989 base::MessagePumpLibevent::Run() #28 0x5920a081977c base::MessageLoop::Run() #29 0x5920a0848106 base::RunLoop::Run() #30 0x5920a0413917 ChromeBrowserMainParts::MainMessageLoopRun() #31 0x59209e6ca1a4 content::BrowserMainLoop::RunMainMessageLoopParts() #32 0x59209e6cd713 content::BrowserMainRunnerImpl::Run() #33 0x59209e6c5cee content::BrowserMain() #34 0x5920a03fa544 content::RunNamedProcessTypeMain() #35 0x5920a03fb097 content::ContentMainRunnerImpl::Run() #36 0x5920a04076b9 service_manager::Main() #37 0x5920a03f98d1 content::ContentMain() #38 0x59209dbfdad6 ChromeMain #39 0x746c47f2d736 __libc_start_main #40 0x59209dbfd739 _start Received signal 6 #0 0x5920a07f443c base::debug::StackTrace::StackTrace() #1 0x5920a07f3f11 base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x746c48ece2e0 <unknown> #3 0x746c47f40dd2 gsignal #4 0x746c47f42bf6 abort #5 0x5920a07f2845 base::debug::BreakDebugger() #6 0x5920a0812dbd logging::LogMessage::~LogMessage() #7 0x5920a27cd7ca display::DisplayConfigurator::SetInitialDisplayPower() #8 0x5920a2e69b45 ash::DisplayPrefs::LoadDisplayPreferences() #9 0x5920a2e68a16 ash::DisplayPrefs::OnLocalStatePrefServiceInitialized() #10 0x5920a2ea58fc ash::Shell::OnLocalStatePrefServiceInitialized() #11 0x59209e518e4f _ZN4base8internal7InvokerINS0_9BindStateIMN6policy19URLBlacklistManagerEFvNSt3__110unique_ptrINS3_12URLBlacklistENS5_14default_deleteIS7_EEEEEJNS_7WeakPtrIS4_EEEEEFvSA_EE7RunImplISC_NS5_5tupleIJSE_EEEJLm0EEEEvOT_OT0_NS5_16integer_sequenceImJXspT1_EEEEOSA_ #12 0x59209e4f7277 prefs::(anonymous namespace)::OnConnect() #13 0x59209e4f82b6 _ZN4base8internal7InvokerINS0_9BindStateIPFv13scoped_refptrIN5prefs12_GLOBAL__N_122RefCountedInterfacePtrINS4_5mojom18PrefStoreConnectorEEEES3_I12PrefRegistryENS_17RepeatingCallbackIFvNSt3__110unique_ptrI11PrefServiceNSE_14default_deleteISG_EEEEEEEN4mojo9StructPtrINS7_29PersistentPrefStoreConnectionEEENSN_INS7_38IncognitoPersistentPrefStoreConnectionEEENSE_6vectorINSN_INS7_16PrefRegistrationEEENSE_9allocatorISU_EEEENSE_13unordered_mapIN14PrefValueStore13PrefStoreTypeENSN_INS7_19PrefStoreConnectionEEENSE_4hashIS10_EENSE_8equal_toIS10_EENSV_INSE_4pairIKS10_S12_EEEEEEEJSA_SC_SL_EEEFvSP_SR_SX_S1B_EE7RunOnceEPNS0_13BindStateBaseEOSP_OSR_OSX_OS1B_ #14 0x59209e4fce26 prefs::mojom::PrefStoreConnector_Connect_ForwardToCallback::Accept() #15 0x5920a147056a mojo::InterfaceEndpointClient::HandleValidatedMessage() #16 0x5920a1489e46 mojo::FilterChain::Accept() #17 0x5920a1471942 mojo::InterfaceEndpointClient::HandleIncomingMessage() #18 0x5920a147b362 mojo::internal::MultiplexRouter::ProcessIncomingMessage() #19 0x5920a147a7e7 mojo::internal::MultiplexRouter::Accept() #20 0x5920a1489e46 mojo::FilterChain::Accept() #21 0x5920a146f2dd mojo::Connector::ReadSingleMessage() #22 0x5920a146fd74 mojo::Connector::ReadAllAvailableMessages() #23 0x5920a146fbd6 mojo::Connector::OnHandleReadyInternal() #24 0x59209e413c14 mojo::SimpleWatcher::DiscardReadyState() #25 0x5920a1490d95 mojo::SimpleWatcher::OnHandleReady() #26 0x5920a149131e _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE #27 0x5920a07f4c98 base::debug::TaskAnnotator::RunTask() #28 0x5920a08bf656 base::internal::IncomingTaskQueue::RunTask() #29 0x5920a0819f0d base::MessageLoop::RunTask() #30 0x5920a081a314 base::MessageLoop::DeferOrRunPendingTask() #31 0x5920a081a5d2 base::MessageLoop::DoWork() #32 0x5920a081c989 base::MessagePumpLibevent::Run() #33 0x5920a081977c base::MessageLoop::Run() #34 0x5920a0848106 base::RunLoop::Run() #35 0x5920a0413917 ChromeBrowserMainParts::MainMessageLoopRun() #36 0x59209e6ca1a4 content::BrowserMainLoop::RunMainMessageLoopParts() #37 0x59209e6cd713 content::BrowserMainRunnerImpl::Run() #38 0x59209e6c5cee content::BrowserMain() #39 0x5920a03fa544 content::RunNamedProcessTypeMain() #40 0x5920a03fb097 content::ContentMainRunnerImpl::Run() #41 0x5920a04076b9 service_manager::Main() #42 0x5920a03f98d1 content::ContentMain() #43 0x59209dbfdad6 ChromeMain #44 0x746c47f2d736 __libc_start_main #45 0x59209dbfd739 _start r8: 00007ffe321ef240 r9: 0000746c47624780 r10: 0000000000000008 r11: 0000000000000202 r12: 00007ffe321ef690 r13: 0000000000000094 r14: 00007ffe321ef240 r15: 00007ffe321ef688 di: 00000000000064b3 si: 00000000000064b3 bp: 00007ffe321ef1d0 bx: 0000746c482b27a0 dx: 0000000000000006 ax: 0000000000000000 cx: ffffffffffffffff sp: 00007ffe321ef0a8 ip: 0000746c47f40dd2 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Calling _exit(1). Core file will not be generated.
,
Jan 12 2018
,
Jan 12 2018
Could you provide instructions on how exactly you are producing this and where the log is coming from? i.e. gn args, flags set in /etc/chrome_dev.conf. I am seeing chrome crashes, but I am not seeing the call stack :(
,
Jan 12 2018
ARGS.gn: as per the simple chrome environment variable but with dcheck_always_on = true Run from ssh session: sudo -u chronos ./chrome --user-data-dir=/home/chronos --homedir=/ --login-managerdcheck_always_on = true Running with start ui doesn't work either BTW. I just find running from ssh session makes startup logging from DRM easier to read.
,
Jan 12 2018
+derat@ Briefly: * I moved DisplayPrefs from src/chrome -> src/ash: https://chromium-review.googlesource.com/c/chromium/src/+/849633 * src/ash loads local_state_ asynchronously, so I modified DisplayPrefs::LoadDisplayPreferences to be called from ShellObserver::OnLocalStatePrefServiceInitialized * This can result in ash::Shell::Get()->display_configurator()->SetInitialDisplayPower() getting called after DisplayConfigurator::OnConfigured() gets called * That causes the DCHECK triggered above: FATAL:display_configurator.cc(546)] Check failed: current_display_state_ == MULTIPLE_DISPLAY_STATE_INVALID (2 vs. 0) I had thought this was only an issue with mus/mash, but after looking at the code more carefully I realized there is a timing issue in classic ash also if Shell::OnLocalStatePrefServiceInitialized gets called after DisplayConfigurator::OnConfigured gets triggered. We have a couple of options: 1. I can revert my changes and we can postpone this cleanup until we can design it more carefully. This returns us to a state where mus/mash never loads DisplayPrefs. 2. We can remove DisplayConfigurator::SetInitialDisplayPower and always set |requested_power_state_| asynchronously. I have no idea what problems this may cause though. 3. We may be able to postpone the display_configurator initialization until Shell::OnLocalStatePrefServiceInitialized. It is already asyncronous in that DisplayConfigurator::RunPendingConfiguration invokes UpdateDisplayConfigurationTask which calls DisplayConfigurator::OnConfigured on completion, so this might "just work"? I am going to look into #3, but I would welcome any thoughts / suggestions here.
,
Jan 12 2018
The root cause is: ChromeDisplayPowerServiceProviderDelegate::SetDisplayPower() -> ash::Shell::Get()->display_configurator()->SetDisplayPower() That delegate probably belongs in ash, but it looks like ui::UserActivityDetector needs to be cleaned up first.
,
Jan 12 2018
I tried a few different things to fix this but they all feel pretty hacky. I am going to revert the DIsplayPrefs related changes, we will have to circle back on this again with folks more familiar with this code involved.
,
Jan 12 2018
sky, is there a tracking bug for your work to load local state earlier? Reverting SGTM. sky@ is working on moving local state load earlier, which might make it available during ash::Shell init, which might make this simpler to deal with.
,
Jan 12 2018
Yes there is. It's 800358.
,
Jan 12 2018
,
Jan 12 2018
Reverts are in |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by rjkroege@chromium.org
, Jan 12 2018