Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 321370 Chrome: Crash Report - Magic Signature: syncer::SyncMergeResult::model_type
Starred by 5 users Reported by dxie@google.com, Nov 19, 2013 Back to list
Status: Fixed
Owner: bauerb@chromium.org
Closed: Feb 2014
Cc: rogerta@chromium.org, atwilson@chromium.org, srsridhar@chromium.org, zea@chromium.org, kareng@google.com
Components:
OS: Windows
Pri: 1
Type: Bug


Sign in to add a comment
Product: Chrome
Stack Signature: syncer::SyncMergeResult::model_type()-168BDD2
New Signature Label: syncer::SyncMergeResult::model_type()
New Signature Hash: b8a04e5e_7b7c5b06_5d7e203c_8104ec47_9ed913b5

Report link: http://go/crash-old/reportdetail?reportid=5a09e5c90fa57809

Meta information:
Product Name: Chrome
Product Version: 32.0.1700.19
Report ID: 5a09e5c90fa57809
Report Time: 2013/11/19 21:11:46, Tue
Uptime: 0 sec
Cumulative Uptime: 0 sec
OS Name: Windows NT


OS Version: 6.1.7601 Service Pack 1
CPU Architecture: x86
CPU Info: GenuineIntel family 6 model 37 stepping 2

Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0x00000040 )

0x6541d03e	 [chrome.dll]	 - sticky_settings.cc:74]	syncer::SyncMergeResult::model_type()
0x65990caf	 [chrome.dll]	 - profile_oauth2_token_service.cc:71]	ProfileOAuth2TokenService::AccountInfo::SetLastAuthError(GoogleServiceAuthError const &)
0x65990d58	 [chrome.dll]	 - profile_oauth2_token_service.cc:150]	ProfileOAuth2TokenService::UpdateAuthError(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,GoogleServiceAuthError const &)
0x65990dd7	 [chrome.dll]	 - profile_oauth2_token_service.cc:181]	ProfileOAuth2TokenService::Observe(int,content::NotificationSource const &,content::NotificationDetails const &)
0x652dc5b6	 [chrome.dll]	 - notification_service_impl.cc:132]	content::NotificationServiceImpl::Notify(int,content::NotificationSource const &,content::NotificationDetails const &)
0x658da8ca	 [chrome.dll]	 - token_service.cc:167]	TokenService::EraseTokensFromDB()
0x658b1ee8	 [chrome.dll]	 - signin_manager.cc:341]	SigninManager::SignOut()
0x655f8a66	 [chrome.dll]	 - pref_change_registrar.cc:86]	PrefChangeRegistrar::InvokeUnnamedCallback(base::Callback<void (void)> const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)
0x655f8a00	 [chrome.dll]	 - bind_internal.h:1224]	base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAdapter<void (*)(base::Callback<void (void)> const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)>,void (base::Callback<void (void)> const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &),void (base::Callback<void (void)>)>,void (base::Callback<void (void)> const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)>::Run(base::internal::BindStateBase *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)
0x6567b773	 [chrome.dll]	 - bind_internal.h:1169]	base::internal::Invoker<1,base::internal::BindState<base::Callback<base::PlatformFileError (void *)>,void (void *),void (void *)>,void (void *)>::Run(base::internal::BindStateBase *)
0x6531323f	 [chrome.dll]	 - pref_member.cc:127]	subtle::PrefMemberBase::Internal::UpdateValue(base::Value *,bool,bool,base::Callback<void (void)> const &)
0x65312f01	 [chrome.dll]	 - pref_member.cc:81]	subtle::PrefMemberBase::UpdateValueFromPref(base::Callback<void (void)> const &)
0x6589efb6	 [chrome.dll]	 - pref_member.cc:68]	subtle::PrefMemberBase::OnPreferenceChanged(PrefService *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)
0x65306367	 [chrome.dll]	 - pref_notifier_impl.cc:111]	PrefNotifierImpl::FireObservers(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)
0x65306265	 [chrome.dll]	 - pref_value_store.cc:133]	PrefValueStore::NotifyPrefChanged(char const *,PrefValueStore::PrefStoreType)
0x6530620c	 [chrome.dll]	 - pref_value_store.cc:41]	PrefValueStore::PrefStoreKeeper::OnPrefValueChanged(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)
0x653fe522	 [chrome.dll]	 - supervised_user_pref_store.cc:122]	SupervisedUserPrefStore::OnNewSettingsAvailable(base::DictionaryValue const *)
0x653cd660	 [chrome.dll]	 - bind_internal.h:909]	base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter<void ( prerender::PrerenderLocalPredictor::*)(content::SessionStorageNamespace::MergeResult)>,void (base::WeakPtr<prerender::PrerenderLocalPredictor> const &,content::SessionStorageNamespace::MergeResult const &)>::MakeItSo(base::internal::RunnableAdapter<void ( prerender::PrerenderLocalPredictor::*)(content::SessionStorageNamespace::MergeResult)>,base::WeakPtr<prerender::PrerenderLocalPredictor> const &,content::SessionStorageNamespace::MergeResult const &)
0x653fe179	 [chrome.dll]	 - bind_internal.h:1224]	base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAdapter<void ( net::URLRequestFileJob::*)(int)>,void (net::URLRequestFileJob *,int),void (base::WeakPtr<net::URLRequestFileJob>)>,void (net::URLRequestFileJob *,int)>::Run(base::internal::BindStateBase *,int const &)
0x653fdcd9	 [chrome.dll]	 - managed_user_settings_service.cc:377]	ManagedUserSettingsService::InformSubscribers()
0x6546e922	 [chrome.dll]	 - managed_user_service.cc:560]	ManagedUserService::Init()
0x65432bb3	 [chrome.dll]	 - profile_manager.cc:803]	ProfileManager::DoFinalInitForServices(Profile *,bool)
0x65432a0c	 [chrome.dll]	 - profile_manager.cc:747]	ProfileManager::DoFinalInit(Profile *,bool)
0x654326bf	 [chrome.dll]	 - profile_manager.cc:556]	ProfileManager::AddProfile(Profile *)
0x653f3be9	 [chrome.dll]	 - profile_manager.cc:479]	ProfileManager::GetProfile(base::FilePath const &)
0x653f3919	 [chrome.dll]	 - chrome_browser_main.cc:353]	`anonymous namespace'::CreateProfile(content::MainFunctionParams const &,base::FilePath const &,CommandLine const &)
0x653e8cf3	 [chrome.dll]	 - chrome_browser_main.cc:1248]	ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
0x653e85e5	 [chrome.dll]	 - chrome_browser_main.cc:1012]	ChromeBrowserMainParts::PreMainMessageLoopRun()
0x653e857b	 [chrome.dll]	 - browser_main_loop.cc:701]	content::BrowserMainLoop::PreMainMessageLoopRun()
0x652ccfae	 [chrome.dll]	 - startup_task_runner.cc:45]	content::StartupTaskRunner::RunAllTasksNow()
0x652ccdba	 [chrome.dll]	 - browser_main_loop.cc:603]	content::BrowserMainLoop::CreateStartupTasks()
0x652be131	 [chrome.dll]	 - browser_main_runner.cc:109]	content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const &)
0x652bdb98	 [chrome.dll]	 - browser_main.cc:22]	content::BrowserMain(content::MainFunctionParams const &)
0x652bdad0	 [chrome.dll]	 - content_main_runner.cc:458]	content::RunNamedProcessTypeMain(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,content::MainFunctionParams const &,content::ContentMainDelegate *)
0x652bda57	 [chrome.dll]	 - content_main_runner.cc:777]	content::ContentMainRunnerImpl::Run()
0x652aabe1	 [chrome.dll]	 - content_main.cc:35]	content::ContentMain(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *,content::ContentMainDelegate *)
0x652aa626	 [chrome.dll]	 - chrome_main.cc:33]	ChromeMain
0x0131877e	 [chrome.exe]	 - client_util.cc:297]	MainDllLoader::Launch(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *)
0x0131895c	 [chrome.exe]	 - chrome_exe_main_win.cc:59]	`anonymous namespace'::RunChrome(HINSTANCE__ *)
0x013189d9	 [chrome.exe]	 - chrome_exe_main_win.cc:126]	wWinMain
0x01338c4a	 [chrome.exe]	 - crt0.c:275]	__tmainCRTStartup
0x765a3369	 [kernel32.dll]	 + 0x00013369]	BaseThreadInitThunk
0x778b9f71	 [ntdll.dll]	 + 0x00039f71]	__RtlUserThreadStart
0x778b9f44	 [ntdll.dll]	 + 0x00039f44]	

zea@, can you triage this ASAP?


 
Labels: Cr-Services-SupervisedUser
Looks related to managed users and sign in.

I'll add the Cr-Services-SupervisedUser label to get more eyes on the problem.
Comment 2 by zea@chromium.org, Nov 20, 2013
Cc: zea@chromium.org
Labels: -Cr-Services-Sync Cr-Services-SignIn
Owner: bauerb@chromium.org
Bernhard, is it correct to be attempting to sign the user out during startup like this?

+Signin folks, who might have more input about the right way to do this, or know what's going on. It appears the token service may not be fully initialized yet?
Comment 3 by bauerb@chromium.org, Nov 21, 2013
Cc: rogerta@chromium.org atwilson@chromium.org
Hmm... This is pre- r234029, in which ProfileOAuth2TokenService was refactored (in particular, it doesn't observe NOTIFICATION_TOKENS_CLEARED anymore, so UpdateAuthError() shouldn't be called).

In general, I think it's okay to make sure that the user is signed out (after all, signing in is not allowed for supervised users), but it should be a no-op, as the supervised user can never be signed in in the first place.

Also, I thought the TokenService is already initialized at this time?
Comment 4 by pamg@google.com, Jan 14, 2014
About half a dozen people looked into this, and our conclusion is that the Preference files of affected users must be getting corrupted by an external source, so that they have both non-empty managed-user IDs and non-empty fields indicating that they were signed in at some point in the past.

Bernhard is preparing a patch to recover more gracefully from such corrupted profiles, since that corruption itself isn't harmful.
Project Member Comment 5 by bugdroid1@chromium.org, Jan 16, 2014
------------------------------------------------------------------------
r245242 | bauerb@chromium.org | 2014-01-16T18:00:09.393369Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/signin/mutable_profile_oauth2_token_service.cc?r1=245242&r2=245241&pathrev=245242

Gracefully handle being signed out of a supervised profile.

This is not something that would happen under normal circumstances, but it may happen if the preferences become corrupted or are modified.

BUG= 321370 

Review URL: https://codereview.chromium.org/138243004
------------------------------------------------------------------------
Comment 6 by nepper@chromium.org, Jan 28, 2014
Cc: kareng@google.com
Labels: ReleaseBlock-Stable Merge-Requested
Requesting merge back to 1700.

https://codereview.chromium.org/138603002/
Cc: srsridhar@chromium.org
Labels: TE-Verified-M34 TE-Verified-34.0.1810.0
This particular crash(syncer::SyncMergeResult::model_type) is not seen on Windows - chrome version 34.0.1810.0.
Comment 8 by kareng@google.com, Feb 5, 2014
there will be no more 32s, please make sure to request merge to M33 instead
Comment 9 by pam@chromium.org, Feb 6, 2014
Labels: -M-32 M-33
Comment 10 by laforge@google.com, Feb 6, 2014
Labels: -Merge-Requested Merge-Approved
Comment 11 by bauerb@chromium.org, Feb 10, 2014
Labels: -Merge-Approved
Status: Fixed
I don't think there's anything to merge here for M33+, as this particular crash only happens on M32 due to later refactorings.
Project Member Comment 12 by bugdroid1@chromium.org, Feb 10, 2014
Labels: Merge-TBD
Is there a merge required here?
Comment 13 by bauerb@chromium.org, Feb 10, 2014
Labels: -ReleaseBlock-Stable
Hi, bugdroid! *waves*
Comment 14 by Deleted ...@, Feb 3, 2015
Haha he said waves...XXD
Comment 15 by laforge@google.com, Oct 21, 2015
Labels: -Merge-TBD
Sign in to add a comment