Crash during sign-in profile synchronous load |
|||||||||||||
Issue descriptionChrome Version: ToT OS: Chrome OS / dev Chrome OS build for Linux What steps will reproduce the problem? (1) Start Chrome OS. (2) Induce somehow a crash on the login screen. What is the expected result? The login screen restarts. What happens instead? It crashes again immediately due to CHECK hit: [FATAL:device_cloud_policy_manager_chromeos.cc(252)] Check failed: signin_profile_forwarding_schema_registry_. #0 0x7f306b2c6f9b base::debug::StackTrace::StackTrace() #1 0x7f306b2c566c base::debug::StackTrace::StackTrace() #2 0x7f306b32bfdc logging::LogMessage::~LogMessage() #3 0x7f306d6ac88d policy::DeviceCloudPolicyManagerChromeOS::StartConnection() #4 0x7f306d6a8b3f policy::DeviceCloudPolicyInitializer::StartConnection() #5 0x7f306d6a7907 policy::DeviceCloudPolicyInitializer::TryToCreateClient() #6 0x7f306d6a8ab9 policy::DeviceCloudPolicyInitializer::OnStoreLoaded() #7 0x7f305fb9ddfb policy::CloudPolicyStore::NotifyStoreLoaded() #8 0x7f306d6b3bd2 policy::DeviceCloudPolicyStoreChromeOS::UpdateFromService() #9 0x7f306d6b39f6 policy::DeviceCloudPolicyStoreChromeOS::DeviceSettingsUpdated() #10 0x7f306d7b6d41 chromeos::DeviceSettingsService::NotifyDeviceSettingsUpdated() #11 0x7f306d7b62a8 chromeos::DeviceSettingsService::HandleCompletedOperation() #12 0x7f306d7bb4fe _ZN4base8internal13FunctorTraitsIMN8chromeos21DeviceSettingsServiceEFvRKNS_8CallbackIFvvELN S0_8CopyModeE1ELNS0_10RepeatModeE1EEEPNS2_23SessionManagerOperationENS3_6StatusEEvE6InvokeIRKNS_7WeakPtrIS3_EE JSA_SC_SD_EEEvSF_OT_DpOT0_ #13 0x7f306d7bb409 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN8chromeos21DeviceSettingsServiceEFvRKNS _8CallbackIFvvELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPNS4_23SessionManagerOperationENS5_6StatusEERKNS_7WeakPt rIS5_EEJSC_SE_SF_EEEvOT_OT0_DpOT1_ #14 0x7f306d7bb34d _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos21DeviceSettingsServiceEFvRKNS_8Callbac kIFvvELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPNS3_23SessionManagerOperationENS4_6StatusEEJNS_7WeakPtrIS4_EES9_ EEEFvSD_SE_EE7RunImplIRKSG_RKSt5tupleIJSI_S9_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOSD_OSE_ #15 0x7f306d7bb23e _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos21DeviceSettingsServiceEFvRKNS_8Callbac kIFvvELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEPNS3_23SessionManagerOperationENS4_6StatusEEJNS_7WeakPtrIS4_EES9_ EEEFvSD_SE_EE3RunEPNS0_13BindStateBaseEOSD_OSE_ #16 0x7f306c90898a base::internal::RunMixin<>::Run() #17 0x7f306d7c6cbd chromeos::SessionManagerOperation::ReportResult() #18 0x7f306d7c71e4 chromeos::SessionManagerOperation::ReportValidatorStatus() #19 0x7f306d7c6f7b chromeos::SessionManagerOperation::ValidateDeviceSettings() #20 0x7f306d7c6a36 chromeos::SessionManagerOperation::BlockingRetrieveDeviceSettings() #21 0x7f306c699447 _ZN4base8internal13FunctorTraitsIMN11google_apis19UrlFetchRequestBaseEFvvEvE6InvokeIRKNS_7W eakPtrINS2_5drive30SingleBatchableDelegateRequestEEEJEEEvS5_OT_DpOT0_ #22 0x7f306d7c7d1a _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN8chromeos23SessionManagerOperationEFvvE RKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_ #23 0x7f306d7c7ca2 _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos23SessionManagerOperationEFvvEJNS_7Weak PtrIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #24 0x7f306d7c7bec _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos23SessionManagerOperationEFvvEJNS_7Weak PtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #25 0x7f306c5b00ab base::internal::RunMixin<>::Run() #26 0x7f306d7c69f8 chromeos::SessionManagerOperation::StorePublicKey() #27 0x7f306d7c6938 chromeos::SessionManagerOperation::LoadImmediately() #28 0x7f306d7c72ea chromeos::LoadSettingsOperation::Run() #29 0x7f306d7c653c chromeos::SessionManagerOperation::Start() #30 0x7f306d7b5f1c chromeos::DeviceSettingsService::LoadImmediately() #31 0x7f306eb5d575 ProfileImpl::ProfileImpl() #32 0x7f306eb5c289 Profile::CreateProfile() #33 0x7f306e579bf7 ProfileManager::CreateProfileHelper() #34 0x7f306e57229e ProfileManager::CreateAndInitializeProfile() #35 0x7f306e571ed7 ProfileManager::GetProfile() #36 0x7f306e57198d ProfileManager::GetActiveUserOrOffTheRecordProfileFromPath() #37 0x7f306e571cb5 ProfileManager::GetActiveUserProfile() #38 0x7f306e363058 (anonymous namespace)::CreatePrimaryProfile() #39 0x7f306e361884 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #40 0x7f306e360d50 ChromeBrowserMainParts::PreMainMessageLoopRun() #41 0x7f306d28170b chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() #42 0x7f3064a89e41 content::BrowserMainLoop::PreMainMessageLoopRun() #43 0x7f3063fa3c55 _ZN4base8internal13FunctorTraitsIMN7content22IndexedDBCallbacksImpl13InternalStateEFvvEvE6In vokeIPS4_JEEEvS6_OT_DpOT0_ #44 0x7f3064a94801 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiO T_DpOT0_ #45 0x7f3064a947a7 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWr apperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #46 0x7f3064a946ec _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWr apperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE #47 0x7f3063e93ffb base::internal::RunMixin<>::Run() #48 0x7f306558a38b content::StartupTaskRunner::RunAllTasksNow() #49 0x7f3064a87b20 content::BrowserMainLoop::CreateStartupTasks() #50 0x7f3064a98287 content::BrowserMainRunnerImpl::Initialize() #51 0x7f3064a840cf content::BrowserMain() #52 0x7f3066172266 content::RunNamedProcessTypeMain() #53 0x7f306617427e content::ContentMainRunnerImpl::Run() #54 0x7f30661712a2 content::ContentMain() #55 0x7f306c596036 ChromeMain #56 0x7f306c595ef2 main #57 0x7f3053637f45 __libc_start_main #58 0x7f306c595df5 <unknown> Seems that the crash has been induced by the recent change (commit afc9d60e96d31a11f756d5c56c2be54a28130960 which was a fix for P0 bug 679810).
,
Mar 3 2017
,
Mar 3 2017
,
Mar 3 2017
Just to clarify: this bug is about going into infinite crash-restart loop _once_ a crash for some reason happens.
,
Mar 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0 commit 9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0 Author: emaxx <emaxx@chromium.org> Date: Fri Mar 03 18:24:36 2017 Fix crash during sync load of the signin profile This fixes hitting a CHECK during restore-after-crash of the signin profile in case of enrolled device: [FATAL:device_cloud_policy_manager_chromeos.cc(252)] Check failed: signin_profile_forwarding_schema_registry_. The crash was caused by an attempt to start connection for the device cloud policy manager _before_ the schema registry of the sign-in profile is passed to it. This has regressed recently due to the change in commit afc9d60e96d31a11f756d5c56c2be54a28130960, which, in particular, made the DeviceSettingsService load much earlier than previously in case when restore-after-crash happens. The DeviceSettingsService loading triggers DeviceCloudPolicyManagerChromeOS::StartConnection(), which hits a CHECK because this all happens before the schema registry gets a chance to be passed by ProfilePolicyConnectorFactory::CreateForBrowserContextInternal(). The fix is to pass the schema registry from a different location - directly from SchemaRegistryServiceFactory::CreateForContextInternal() that constructs the schema registry. This is guaranteed by the current code to be run before the DeviceSettingsService load happens. BUG= 698136 TEST=manual: induce a crash on signin screen on an enrolled device and verify that automatic restart works Review-Url: https://codereview.chromium.org/2729093002 Cr-Commit-Position: refs/heads/master@{#454627} [modify] https://crrev.com/9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0/chrome/browser/policy/profile_policy_connector_factory.cc [modify] https://crrev.com/9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0/chrome/browser/policy/schema_registry_service_factory.cc
,
Mar 4 2017
this was caused by issue 679810 CLs right? if it gets merged we need to merge this It also doesn't look like it made the cutoff for M-58, but the other CLs did.
,
Mar 4 2017
This bug requires manual review: We are only 9 days from stable. Please contact the milestone owner if you have questions. Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 4 2017
Re comment 6: Yes, the bugfix here has to be merged everywhere where the change from issue 679810 by poromov@ lands. But this bugfix was tested only locally by me - it hasn't reached any build at goldeneye yet.
,
Mar 4 2017
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions. Owners: amineer@(clank), cmasso@(bling), bhthompson@(cros), govind@(desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 6 2017
,
Mar 7 2017
We are still encountering continuous crash as mentioned in the below bug in latest M58 ToT. Can't mark it verified until below bug is fixed and verified. https://bugs.chromium.org/p/chromium/issues/detail?id=698057
,
Mar 7 2017
Re comment 11: Which version was it tested on? The patch here went into 59.0.3032.0, which is not the current live Canary yet.
,
Mar 7 2017
@emaxx We have tried in M58.Thanks for the information. M ChromeOS Chrome ARC Type Channel 58 9334.0.0 58.0.3028.0 (multiple) release dev
,
Mar 7 2017
Verified manually on Canary channel (59.0.3032.0). Going to merge into M58.
,
Mar 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1ef634f4f3ddb8614932d541c203f5584288abc4 commit 1ef634f4f3ddb8614932d541c203f5584288abc4 Author: Maksim Ivanov <emaxx@chromium.org> Date: Tue Mar 07 15:47:35 2017 Fix crash during sync load of the signin profile This fixes hitting a CHECK during restore-after-crash of the signin profile in case of enrolled device: [FATAL:device_cloud_policy_manager_chromeos.cc(252)] Check failed: signin_profile_forwarding_schema_registry_. The crash was caused by an attempt to start connection for the device cloud policy manager _before_ the schema registry of the sign-in profile is passed to it. This has regressed recently due to the change in commit afc9d60e96d31a11f756d5c56c2be54a28130960, which, in particular, made the DeviceSettingsService load much earlier than previously in case when restore-after-crash happens. The DeviceSettingsService loading triggers DeviceCloudPolicyManagerChromeOS::StartConnection(), which hits a CHECK because this all happens before the schema registry gets a chance to be passed by ProfilePolicyConnectorFactory::CreateForBrowserContextInternal(). The fix is to pass the schema registry from a different location - directly from SchemaRegistryServiceFactory::CreateForContextInternal() that constructs the schema registry. This is guaranteed by the current code to be run before the DeviceSettingsService load happens. BUG= 698136 TEST=manual: induce a crash on signin screen on an enrolled device and verify that automatic restart works Review-Url: https://codereview.chromium.org/2729093002 Cr-Commit-Position: refs/heads/master@{#454627} (cherry picked from commit 9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0) Review-Url: https://codereview.chromium.org/2739453004 . Cr-Commit-Position: refs/branch-heads/3029@{#42} Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471} [modify] https://crrev.com/1ef634f4f3ddb8614932d541c203f5584288abc4/chrome/browser/policy/profile_policy_connector_factory.cc [modify] https://crrev.com/1ef634f4f3ddb8614932d541c203f5584288abc4/chrome/browser/policy/schema_registry_service_factory.cc
,
Mar 17 2017
Approving merge to M57 Chrome OS.emaxx@ please merge to M57 by eod today to make this into stable RC.
,
Mar 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c6eda44c1f47f76e757c610e873ad5c02a8116e1 commit c6eda44c1f47f76e757c610e873ad5c02a8116e1 Author: Maksim Ivanov <emaxx@chromium.org> Date: Fri Mar 17 20:32:22 2017 Fix crash during sync load of the signin profile This fixes hitting a CHECK during restore-after-crash of the signin profile in case of enrolled device: [FATAL:device_cloud_policy_manager_chromeos.cc(252)] Check failed: signin_profile_forwarding_schema_registry_. The crash was caused by an attempt to start connection for the device cloud policy manager _before_ the schema registry of the sign-in profile is passed to it. This has regressed recently due to the change in commit afc9d60e96d31a11f756d5c56c2be54a28130960, which, in particular, made the DeviceSettingsService load much earlier than previously in case when restore-after-crash happens. The DeviceSettingsService loading triggers DeviceCloudPolicyManagerChromeOS::StartConnection(), which hits a CHECK because this all happens before the schema registry gets a chance to be passed by ProfilePolicyConnectorFactory::CreateForBrowserContextInternal(). The fix is to pass the schema registry from a different location - directly from SchemaRegistryServiceFactory::CreateForContextInternal() that constructs the schema registry. This is guaranteed by the current code to be run before the DeviceSettingsService load happens. BUG= 698136 TEST=manual: induce a crash on signin screen on an enrolled device and verify that automatic restart works Review-Url: https://codereview.chromium.org/2729093002 Cr-Commit-Position: refs/heads/master@{#454627} (cherry picked from commit 9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0) Review-Url: https://codereview.chromium.org/2739453004 . Cr-Commit-Position: refs/branch-heads/3029@{#42} Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471} (cherry picked from commit 1ef634f4f3ddb8614932d541c203f5584288abc4) Review-Url: https://codereview.chromium.org/2759773002 . Cr-Commit-Position: refs/branch-heads/2987@{#842} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/c6eda44c1f47f76e757c610e873ad5c02a8116e1/chrome/browser/policy/profile_policy_connector_factory.cc [modify] https://crrev.com/c6eda44c1f47f76e757c610e873ad5c02a8116e1/chrome/browser/policy/schema_registry_service_factory.cc
,
Mar 22 2017
Verified in M58. Do not see similar behavior of crash again after inducing crash. M ChromeOS Chrome ARC Type Channel 58 9334.16.0 58.0.3029.19 (multiple) release dev |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by emaxx@chromium.org
, Mar 3 2017