New issue
Advanced search Search tips

Issue 632030 link

Starred by 2 users

Issue metadata

Status: Duplicate
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

AccountTrackerService crashes with no Account Info Preferences

Reported by kra...@amazon.com, Jul 27 2016

Issue description

Version: Tip of master
OS: Android

What steps will reproduce the problem?
(1) Try loading Account Tracker Service while not having Account Info Preferences

What is the expected output?
Nothing happens

What happens instead?
  01c4ad48  AccountTrackerService::LoadFromPrefs()                                                                                /home/buildbot/build_internal/slave/android/build/src/components/signin/core/browser/account_tracker_service.cc:313
  003321ef  AccountTrackerServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const                                 /home/buildbot/build_internal/slave/android/build/src/chrome/browser/signin/account_tracker_service_factory.cc:44
  01d89da5  BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const                             /home/buildbot/build_internal/slave/android/build/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:94
  0095474f  KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)                                              /home/buildbot/build_internal/slave/android/build/src/components/keyed_service/core/keyed_service_factory.cc:91

Please use labels and text to provide additional information.
N/A
 
Components: Services>SignIn
Labels: OS-Android
Can you explain further how you load "Account Tracker Service while not having Account Info Preferences"?  Can you also include the version of Chrome and Android?  Thanks.

Comment 4 by kra...@amazon.com, Aug 3 2016

As for the version: We have definitely seen this quite a bit in v51, but I don't think this is version specific (I don't see why it would be)
The Android version does not seem to affect occurence - we've seen this around the same amount on KitKat (4.4.4) as on Lollipop (5.1.1)

As for how it happens:
AccountTrackerService::LoadFromPrefs() calls GetPrefs->GetList(kAccountInfoPref)
However since AccountTrackerService::RegisterPrefs is not guaranteeed to have been called at this point, it can return null:
https://cs.chromium.org/chromium/src/components/prefs/pref_service.cc?sq=package:chromium&rcl=1470223047&l=346

In case you need a full stack trace, here it is! :)
(Line numbers are from Chromium v51)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c

  01c4ad48  AccountTrackerService::LoadFromPrefs()                                                                                /home/ironbot/build_internal/slave/android/build/src/components/signin/core/browser/account_tracker_service.cc:313
  003321ef  AccountTrackerServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const                                 /home/ironbot/build_internal/slave/android/build/src/chrome/browser/signin/account_tracker_service_factory.cc:44
  01d89da5  BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const                             /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:94
  0095474f  KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)                                              /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/core/keyed_service_factory.cc:91
  00333445  ProfileOAuth2TokenServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const                             /home/ironbot/build_internal/slave/android/build/src/chrome/browser/signin/profile_oauth2_token_service_factory.cc:58
  01d89da5  BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const                             /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:94
  0095474f  KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)                                              /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/core/keyed_service_factory.cc:91
  0033356d  ProfileOAuth2TokenServiceFactory::GetForProfile(Profile*)                                                             /home/ironbot/build_internal/slave/android/build/src/chrome/browser/signin/profile_oauth2_token_service_factory.cc:43
  00333885  SigninManagerFactory::BuildServiceInstanceFor(content::BrowserContext*) const                                         /home/ironbot/build_internal/slave/android/build/src/chrome/browser/signin/signin_manager_factory.cc:121
  01d89da5  BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const                             /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:94
  0095474f  KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)                                              /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/core/keyed_service_factory.cc:91
  0031f289  GAIAInfoUpdateService::GAIAInfoUpdateService(Profile*)                                                                /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/gaia_info_update_service.cc:41
  0031f621  GAIAInfoUpdateServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const                                 /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/gaia_info_update_service_factory.cc:40
  01d89da5  BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const                             /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:94
  0095474f  KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)                                              /home/ironbot/build_internal/slave/android/build/src/components/keyed_service/core/keyed_service_factory.cc:91
  00323f27  ProfileImpl::DoFinalInit()                                                                                            /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_impl.cc:538
  00324667  ProfileImpl::OnLocaleReady()                                                                                          /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_impl.cc:836
  003247a5  ProfileImpl::OnPrefsLoaded(Profile::CreateMode, bool)                                                                 /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_impl.cc:857
  00324b91  ProfileImpl::ProfileImpl(base::FilePath const&, Profile::Delegate*, Profile::CreateMode, base::SequencedTaskRunner*)  /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_impl.cc:481
  00324d6d  Profile::CreateProfile(base::FilePath const&, Profile::Delegate*, Profile::CreateMode)                                /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_impl.cc:319
  0032e0b9  ProfileManager::CreateProfileHelper(base::FilePath const&)                                                            /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_manager.cc:1243
  0032f39f  ProfileManager::CreateAndInitializeProfile(base::FilePath const&)                                                     /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_manager.cc:1323
  0032f4cd  ProfileManager::GetProfile(base::FilePath const&)                                                                     /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_manager.cc:429
  0032f509  ProfileManager::GetLastUsedProfile(base::FilePath const&)                                                             /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_manager.cc:578
  003987c9  ProfileAndroid::GetLastUsedProfile(_JNIEnv*, _jclass*)                                                                /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_android.cc:53
  v------>  GetLastUsedProfile                                                                                                    /home/ironbot/build_internal/slave/android/build/src/chrome/browser/profiles/profile_android.cc:108
  003987ff  Java_org_chromium_chrome_browser_profiles_Profile_nativeGetLastUsedProfile                                            /home/ironbot/build_internal/slave/android/build/src/out/Release/gen/chrome/jni/Profile_jni.h:37
Cc: anthonyvd@chromium.org
"AccountTrackerService::RegisterPrefs is not guaranteeed to have been called at this point" this sounds should never happen to me. It might caused by dependency issue. Could you provide additional specific information about how to reproduce it? 
CC'ed anthonyvd@ may have more idea,

Comment 6 by kra...@amazon.com, Aug 3 2016

Sorry, I don't have any repro steps :(
This is from a production crash we see a lot on customer devices.
I was going to ask the same question as Ganggui.  The AccountTrackerService code assumes the registered properties exist.

The proposed fix will keep chrome from crashing on startup but does not fix the root cause.  Fixing only AccountTrackerService::LoadFromPrefs() will likely just cause chrome to crash later on.  I think we need to fix the root cause.
Project Member

Comment 8 by sheriffbot@chromium.org, Dec 19 2016

Cc: ew...@chromium.org bzanotti@chromium.org msarda@chromium.org
Status: Available (was: Untriaged)
--Chrome Identity automated triaging--

This bug is Untriaged and has gone for two weeks without any activity, so it is being moved to Available. Please see https://goo.gl/78kbny for more details. Please remove the Services>SignIn or UI>Browser>Profiles components if this bug isn't related to Chrome Identity.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -bzanotti@chromium.org
Mergedinto: 704025
Status: Duplicate (was: Available)

Sign in to add a comment