Crash while downloading image when signing into Chrome |
||
Issue descriptionChrome crashes when it tries to download the account image after signing in. Stack trace: base.dll!base::debug::BreakDebugger() Line 21 C++ Symbols loaded. base.dll!logging::LogMessage::~LogMessage() Line 844 C++ Symbols loaded. > chrome.dll!AccountTrackerService::SetAccountImage(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & account_id, const gfx::Image & image) Line 319 C++ Symbols loaded. chrome.dll!AccountFetcherService::OnImageFetched(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & id, const gfx::Image & image) Line 373 C++ Symbols loaded. chrome.dll!image_fetcher::ImageFetcherImpl::OnImageDecoded(const GURL & image_url, const image_fetcher::RequestMetadata & metadata, const gfx::Image & image) Line 114 C++ Symbols loaded. chrome.dll!base::internal::FunctorTraits<void (image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &),void>::Invoke<image_fetcher::ImageFetcherImpl *,const GURL &,const image_fetcher::RequestMetadata &,const gfx::Image &>(void(image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &) method, image_fetcher::ImageFetcherImpl * && receiver_ptr, const GURL & args, const image_fetcher::RequestMetadata & args, const gfx::Image & args) Line 447 C++ Symbols loaded. chrome.dll!base::internal::InvokeHelper<0,void>::MakeItSo<void (image_fetcher::ImageFetcherImpl::*const &)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &),image_fetcher::ImageFetcherImpl *,const GURL &,const image_fetcher::RequestMetadata &,const gfx::Image &>(void(image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &) & functor, image_fetcher::ImageFetcherImpl * && args, const GURL & args, const image_fetcher::RequestMetadata & args, const gfx::Image & args) Line 530 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &),base::internal::UnretainedWrapper<image_fetcher::ImageFetcherImpl>,GURL,image_fetcher::RequestMetadata>,void (const gfx::Image &)>::RunImpl<void (image_fetcher::ImageFetcherImpl::*const &)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &),const std::tuple<base::internal::UnretainedWrapper<image_fetcher::ImageFetcherImpl>,GURL,image_fetcher::RequestMetadata> &,0,1,2>(void(image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &) & functor, const std::tuple<base::internal::UnretainedWrapper<image_fetcher::ImageFetcherImpl>,GURL,image_fetcher::RequestMetadata> & bound, std::integer_sequence<unsigned long long,0,1,2>, const gfx::Image & unbound_args) Line 604 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (image_fetcher::ImageFetcherImpl::*)(const GURL &, const image_fetcher::RequestMetadata &, const gfx::Image &),base::internal::UnretainedWrapper<image_fetcher::ImageFetcherImpl>,GURL,image_fetcher::RequestMetadata>,void (const gfx::Image &)>::Run(base::internal::BindStateBase * base, const gfx::Image & unbound_args) Line 586 C++ Symbols loaded. chrome.dll!base::RepeatingCallback<void (const gfx::Image &)>::Run(const gfx::Image & args) Line 94 C++ Symbols loaded. chrome.dll!suggestions::ImageDecoderImpl::DecodeImageRequest::RunCallbackAndRemoveRequest(const gfx::Image & image) Line 60 C++ Symbols loaded. chrome.dll!suggestions::ImageDecoderImpl::DecodeImageRequest::OnDecodeImageFailed() Line 52 C++ Symbols loaded. chrome.dll!ImageDecoder::OnDecodeImageFailed(int request_id) Line 227 C++ Symbols loaded. chrome.dll!base::internal::FunctorTraits<void (ImageDecoder::*)(int),void>::Invoke<ImageDecoder *,int>(void(ImageDecoder::*)(int) method, ImageDecoder * && receiver_ptr, int && args) Line 447 C++ Symbols loaded. chrome.dll!base::internal::InvokeHelper<0,void>::MakeItSo<void (ImageDecoder::*const &)(int),ImageDecoder *,int>(void(ImageDecoder::*)(int) & functor, ImageDecoder * && args, int && args) Line 530 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (ImageDecoder::*)(int),base::internal::UnretainedWrapper<ImageDecoder> >,void (int)>::RunImpl<void (ImageDecoder::*const &)(int),const std::tuple<base::internal::UnretainedWrapper<ImageDecoder> > &,0>(void(ImageDecoder::*)(int) & functor, const std::tuple<base::internal::UnretainedWrapper<ImageDecoder> > & bound, std::integer_sequence<unsigned long long,0>, int && unbound_args) Line 604 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (ImageDecoder::*)(int),base::internal::UnretainedWrapper<ImageDecoder> >,void (int)>::Run(base::internal::BindStateBase * base, int unbound_args) Line 586 C++ Symbols loaded. chrome.dll!base::RepeatingCallback<void (int)>::Run(int args) Line 94 C++ Symbols loaded. chrome.dll!`anonymous namespace'::OnDecodeImageDone(base::RepeatingCallback<void (int)> fail_callback, base::RepeatingCallback<void (const SkBitmap &, int)> success_callback, int request_id, const SkBitmap & image) Line 37 C++ Symbols loaded. chrome.dll!base::internal::FunctorTraits<void (*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &),void>::Invoke<const base::RepeatingCallback<void (int)> &,const base::RepeatingCallback<void (const SkBitmap &, int)> &,const int &,const SkBitmap &>(void(*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &) function, const base::RepeatingCallback<void (int)> & args, const base::RepeatingCallback<void (const SkBitmap &, int)> & args, const int & args, const SkBitmap & args) Line 402 C++ Symbols loaded. chrome.dll!base::internal::InvokeHelper<0,void>::MakeItSo<void (*const &)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &),const base::RepeatingCallback<void (int)> &,const base::RepeatingCallback<void (const SkBitmap &, int)> &,const int &,const SkBitmap &>(void(*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &) & functor, const base::RepeatingCallback<void (int)> & args, const base::RepeatingCallback<void (const SkBitmap &, int)> & args, const int & args, const SkBitmap & args) Line 530 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &),base::RepeatingCallback<void (int)>,base::RepeatingCallback<void (const SkBitmap &, int)>,int>,void (const SkBitmap &)>::RunImpl<void (*const &)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &),const std::tuple<base::RepeatingCallback<void (int)>,base::RepeatingCallback<void (const SkBitmap &, int)>,int> &,0,1,2>(void(*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &) & functor, const std::tuple<base::RepeatingCallback<void (int)>,base::RepeatingCallback<void (const SkBitmap &, int)>,int> & bound, std::integer_sequence<unsigned long long,0,1,2>, const SkBitmap & unbound_args) Line 604 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (int)>, base::RepeatingCallback<void (const SkBitmap &, int)>, int, const SkBitmap &),base::RepeatingCallback<void (int)>,base::RepeatingCallback<void (const SkBitmap &, int)>,int>,void (const SkBitmap &)>::Run(base::internal::BindStateBase * base, const SkBitmap & unbound_args) Line 586 C++ Symbols loaded. chrome.dll!base::OnceCallback<void (const SkBitmap &)>::Run(const SkBitmap & args) Line 65 C++ Symbols loaded. chrome.dll!base::internal::FunctorTraits<base::OnceCallback<void (const SkBitmap &)>,void>::Invoke<base::OnceCallback<void (const SkBitmap &)>,SkBitmap>(base::OnceCallback<void (const SkBitmap &)> && callback, SkBitmap && args) Line 491 C++ Symbols loaded. chrome.dll!base::internal::InvokeHelper<0,void>::MakeItSo<base::OnceCallback<void (const SkBitmap &)>,SkBitmap>(base::OnceCallback<void (const SkBitmap &)> && functor, SkBitmap && args) Line 530 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (const SkBitmap &)>,SkBitmap>,void ()>::RunImpl<base::OnceCallback<void (const SkBitmap &)>,std::tuple<SkBitmap>,0>(base::OnceCallback<void (const SkBitmap &)> && functor, std::tuple<SkBitmap> && bound, std::integer_sequence<unsigned long long,0>) Line 604 C++ Symbols loaded. chrome.dll!base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (const SkBitmap &)>,SkBitmap>,void ()>::RunOnce(base::internal::BindStateBase * base) Line 572 C++ Symbols loaded. base.dll!base::OnceCallback<void ()>::Run() Line 65 C++ Symbols loaded. base.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 55 C++ Symbols loaded. base.dll!base::internal::IncomingTaskQueue::RunTask(base::PendingTask * pending_task) Line 124 C++ Symbols loaded. base.dll!base::MessageLoop::RunTask(base::PendingTask * pending_task) Line 395 C++ Symbols loaded. base.dll!base::MessageLoop::DeferOrRunPendingTask(base::PendingTask pending_task) Line 410 C++ Symbols loaded. base.dll!base::MessageLoop::DoWork() Line 451 C++ Symbols loaded. base.dll!base::MessagePumpForUI::DoRunLoop() Line 173 C++ Symbols loaded. base.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 58 C++ Symbols loaded. base.dll!base::MessageLoop::Run(bool application_tasks_allowed) Line 348 C++ Symbols loaded. base.dll!base::RunLoop::Run() Line 136 C++ Symbols loaded. chrome.dll!ChromeBrowserMainParts::MainMessageLoopRun(int * result_code) Line 2192 C++ Symbols loaded. content.dll!content::BrowserMainLoop::RunMainMessageLoopParts() Line 1158 C++ Symbols loaded. content.dll!content::BrowserMainRunnerImpl::Run() Line 161 C++ Symbols loaded. content.dll!content::BrowserMain(const content::MainFunctionParams & parameters) Line 46 C++ Symbols loaded. content.dll!content::RunNamedProcessTypeMain(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & process_type, const content::MainFunctionParams & main_function_params, content::ContentMainDelegate * delegate) Line 423 C++ Symbols loaded. content.dll!content::ContentMainRunnerImpl::Run() Line 713 C++ Symbols loaded. content.dll!content::ContentServiceManagerMainDelegate::RunEmbedderProcess() Line 51 C++ Symbols loaded. embedder.dll!service_manager::Main(const service_manager::MainParams & params) Line 456 C++ Symbols loaded. content.dll!content::ContentMain(const content::ContentMainParams & params) Line 19 C++ Symbols loaded. chrome.dll!ChromeMain(HINSTANCE__ * instance, sandbox::SandboxInterfaceInfo * sandbox_info, __int64 exe_entry_point_ticks) Line 144 C++ Symbols loaded. chrome.exe!MainDllLoader::Launch(HINSTANCE__ * instance, base::TimeTicks exe_entry_point_ticks) Line 199 C++ Symbols loaded. chrome.exe!wWinMain(HINSTANCE__ * instance, HINSTANCE__ * prev, wchar_t *, int) Line 230 C++ Symbols loaded. [External Code] Annotated Frame
,
Feb 15 2018
I guess this can happen if the account was removed from Chrome while the image was being fetched.
,
Feb 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/84395bdb14b91f78f991303753520f6d3f842c2f commit 84395bdb14b91f78f991303753520f6d3f842c2f Author: Thomas Tangl <tangltom@chromium.org> Date: Thu Feb 15 17:06:01 2018 Fix crash bug in AccountTrackerService When an account is removed from AccountTrackerService before the corresponding image has been fetched, Chrome crashes. This CL fixes this. Bug: 812634 Change-Id: I16fd69abafab50e3239272943e0a957b8153d62c Reviewed-on: https://chromium-review.googlesource.com/921722 Commit-Queue: Thomas Tangl <tangltom@chromium.org> Reviewed-by: Mihai Sardarescu <msarda@chromium.org> Cr-Commit-Position: refs/heads/master@{#537052} [modify] https://crrev.com/84395bdb14b91f78f991303753520f6d3f842c2f/components/signin/core/browser/account_tracker_service.cc [modify] https://crrev.com/84395bdb14b91f78f991303753520f6d3f842c2f/components/signin/core/browser/account_tracker_service.h [modify] https://crrev.com/84395bdb14b91f78f991303753520f6d3f842c2f/components/signin/core/browser/account_tracker_service_unittest.cc
,
Feb 15 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by droger@chromium.org
, Feb 15 2018