New issue
Advanced search Search tips

Issue 859697 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner:
Closed: Jul 2
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

DCHECK iterator != accounts_with_refresh_tokens_.end() Followed by C++ Runtime Failure (Crash)

Project Member Reported by robliao@chromium.org, Jul 2

Issue description

Launch Chromium right out of the box:

[36564:23516:0702/151755.865:FATAL:identity_manager.cc(262)] Check failed: iterator != accounts_with_refresh_tokens_.end(). 

0:000> kn20
 # ChildEBP RetAddr  
00 00e0c678 61aaaa09 base!base::debug::BreakDebugger+0x23 [D:\src\base\debug\debugger_win.cc @ 21] 
01 00e0cca8 0fb3f8a4 base!logging::LogMessage::~LogMessage+0x5a9 [D:\src\base\logging.cc @ 857] 
02 00e0cfa8 1475e47c chrome!identity::IdentityManager::WillFireOnRefreshTokenRevoked+0x1d4 [D:\src\services\identity\public\cpp\identity_manager.cc @ 262] 
03 00e0cfd0 0f777644 chrome!ProfileOAuth2TokenService::OnRefreshTokenRevoked+0x3c [D:\src\components\signin\core\browser\profile_oauth2_token_service.cc @ 95] 
04 00e0d018 12c2f766 chrome!OAuth2TokenServiceDelegate::FireRefreshTokenRevoked+0x94 [D:\src\google_apis\gaia\oauth2_token_service_delegate.cc @ 85] 
05 00e0d8b0 12c2e6e1 chrome!MutableProfileOAuth2TokenServiceDelegate::LoadAllCredentialsIntoMemory+0xce6 [D:\src\chrome\browser\signin\mutable_profile_oauth2_token_service_delegate.cc @ 717] 
06 00e0dedc 037a25fb chrome!MutableProfileOAuth2TokenServiceDelegate::OnWebDataServiceRequestDone+0x2d1 [D:\src\chrome\browser\signin\mutable_profile_oauth2_token_service_delegate.cc @ 548] 
07 00e0df28 037a7626 webdata_common!WebDataRequestManager::RequestCompletedOnThread+0xdb [D:\src\components\webdata\common\web_data_request_manager.cc @ 139] 
08 00e0df74 037a7467 webdata_common!base::internal::FunctorTraits<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),void>::Invoke<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),scoped_refptr<WebDataRequestManager>,std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >,std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> > >+0x96 [D:\src\base\bind_internal.h @ 507] 
09 00e0dfb8 037a7394 webdata_common!base::internal::InvokeHelper<0,void>::MakeItSo<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),scoped_refptr<WebDataRequestManager>,std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >,std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> > >+0x87 [D:\src\base\bind_internal.h @ 607] 
0a 00e0dfe4 037a7154 webdata_common!base::internal::Invoker<base::internal::BindState<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),scoped_refptr<WebDataRequestManager>,std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >,std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> > >,void ()>::RunImpl<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),std::tuple<scoped_refptr<WebDataRequestManager>,std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >,std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> > >,0,1,2>+0x94 [D:\src\base\bind_internal.h @ 680] 
0b 00e0e00c 619f59e0 webdata_common!base::internal::Invoker<base::internal::BindState<void (WebDataRequestManager::*)(std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >, std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> >) __attribute__((thiscall)),scoped_refptr<WebDataRequestManager>,std::unique_ptr<WebDataRequest,std::default_delete<WebDataRequest> >,std::unique_ptr<WDTypedResult,std::default_delete<WDTypedResult> > >,void ()>::RunOnce+0x54 [D:\src\base\bind_internal.h @ 649] 
0c 00e0e030 61a19e13 base!base::OnceCallback<void ()>::Run+0x50 [D:\src\base\callback.h @ 100] 
0d 00e0e1a8 61ac70d8 base!base::debug::TaskAnnotator::RunTask+0x433 [D:\src\base\debug\task_annotator.cc @ 103] 
0e 00e0e290 61acc95b base!base::internal::IncomingTaskQueue::RunTask+0xe8 [D:\src\base\message_loop\incoming_task_queue.cc @ 129] 
0f 00e0e44c 61acd119 base!base::MessageLoop::RunTask+0x36b [D:\src\base\message_loop\message_loop.cc @ 351] 
10 00e0e488 61acd41f base!base::MessageLoop::DeferOrRunPendingTask+0x49 [D:\src\base\message_loop\message_loop.cc @ 364] 
11 00e0e5a0 61b059ee base!base::MessageLoop::DoWork+0x26f [D:\src\base\message_loop\message_loop.cc @ 419] 
12 00e0e5c0 61b04e89 base!base::MessagePumpForUI::DoRunLoop+0x3e [D:\src\base\message_loop\message_pump_win.cc @ 173] 
13 00e0e610 61acc266 base!base::MessagePumpWin::Run+0xb9 [D:\src\base\message_loop\message_pump_win.cc @ 58] 
14 00e0e7b8 61bb38b8 base!base::MessageLoop::Run+0x1e6 [D:\src\base\message_loop\message_loop.cc @ 303] 
15 00e0ea28 11aaab80 base!base::RunLoop::Run+0x1e8 [D:\src\base\run_loop.cc @ 102] 
16 00e0eb30 56671e0f chrome!ChromeBrowserMainParts::MainMessageLoopRun+0x150 [D:\src\chrome\browser\chrome_browser_main.cc @ 2055] 
17 00e0ec20 56677bac content!content::BrowserMainLoop::RunMainMessageLoopParts+0x1df [D:\src\content\browser\browser_main_loop.cc @ 977] 
18 00e0edc0 56668402 content!content::BrowserMainRunnerImpl::Run+0x15c [D:\src\content\browser\browser_main_runner_impl.cc @ 170] 
19 00e0ee50 5900811d content!content::BrowserMain+0x142 [D:\src\content\browser\browser_main.cc @ 51] 
1a 00e0ef8c 590092d7 content!content::RunBrowserProcessMain+0x16d [D:\src\content\app\content_main_runner_impl.cc @ 605] 
1b 00e0f1b8 590059b1 content!content::ContentMainRunnerImpl::Run+0x317 [D:\src\content\app\content_main_runner_impl.cc @ 952] 
1c 00e0f1c8 0ea137b2 content!content::ContentServiceManagerMainDelegate::RunEmbedderProcess+0x21 [D:\src\content\app\content_service_manager_main_delegate.cc @ 53] 
1d 00e0f4fc 59007f2c embedder!service_manager::Main+0x602 [D:\src\services\service_manager\embedder\main.cc @ 459] 
1e 00e0f544 0f69132f content!content::ContentMain+0x5c [D:\src\content\app\content_main.cc @ 20] 
1f 00e0f620 00ecb9df chrome!ChromeMain+0x1ef [D:\src\chrome\app\chrome_main.cc @ 101] 

This is followed by a C++ Runtime failure.
 
Description: Show this description
Summary: DCHECK iterator != accounts_with_refresh_tokens_.end() Followed by C++ Runtime Failure (Crash) (was: DCHECK iterator != accounts_with_refresh_tokens_.end())
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f62594528efd0a3e606a7c9da9ebc4efbbe2452c

commit f62594528efd0a3e606a7c9da9ebc4efbbe2452c
Author: Robert Liao <robliao@chromium.org>
Date: Mon Jul 02 23:50:45 2018

Revert "IdentityManager: Add APIs for querying state of refresh tokens"

This reverts commit cb05af1b8e952afa7bc2729ed16f838b278dbcd4.

Reason for revert: Causes a DCHECK followed by a crash.  http://crbug.com/859697 

Original change's description:
> IdentityManager: Add APIs for querying state of refresh tokens
> 
> This CL adds APIs to IdentityManager for obtaining the set of all
> accounts with refresh tokens and querying whether the primary account
> is available with a refresh token.
> 
> The design follows that of IdentityManager's caching of the primary
> account information:
> - IdentityManager initializes its state with the current state of
>   ProfileOAuth2TokenService.
> - IdentityManager updates this state in response to notifications from
>   PO2TS that an account's refresh token was updated/removed.
> 
> TBR=bsazonov@chromium.org
> 
> Bug:  806774 
> Change-Id: Idc4a37a15ced2e7d32f012a50e4e0d1fdb1aecdf
> Reviewed-on: https://chromium-review.googlesource.com/1098668
> Commit-Queue: Colin Blundell <blundell@chromium.org>
> Reviewed-by: Mihai Sardarescu <msarda@chromium.org>
> Reviewed-by: Marc Treib <treib@chromium.org>
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#571451}

TBR=blundell@chromium.org,msarda@chromium.org,sdefresne@chromium.org,treib@chromium.org,bsazonov@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  806774 ,  859697 
Change-Id: I636d458101a5a579202dc4683faddfc0643cb19c
Reviewed-on: https://chromium-review.googlesource.com/1123119
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572048}
[modify] https://crrev.com/f62594528efd0a3e606a7c9da9ebc4efbbe2452c/chrome/android/javatests/src/org/chromium/chrome/browser/signin/OAuth2TokenServiceIntegrationTest.java
[modify] https://crrev.com/f62594528efd0a3e606a7c9da9ebc4efbbe2452c/services/identity/public/cpp/identity_manager.cc
[modify] https://crrev.com/f62594528efd0a3e606a7c9da9ebc4efbbe2452c/services/identity/public/cpp/identity_manager.h
[modify] https://crrev.com/f62594528efd0a3e606a7c9da9ebc4efbbe2452c/services/identity/public/cpp/identity_manager_unittest.cc

Owner: robliao@chromium.org
Status: Fixed (was: Assigned)
Mergedinto: 859377
Status: Duplicate (was: Fixed)

Sign in to add a comment