Background downloader triggers AssertComInitialized when running a DEBUG build |
||||
Issue descriptionI hit the following error after a few minutes of running DEBUG build of Chromium (running it under VS debug session). Since this is related to BackgroundDownloader I think it is triggered based on some timeout rather than any action that I do in the UI. --------------------------- Fatal error --------------------------- [23680:7856:0705/113153.794:FATAL:com_init_util.cc(69)] Check failed: false. Backtrace: base::debug::StackTrace::StackTrace [0x100AE967+55] (d:\src\chrome\src\base\debug\stack_trace_win.cc:217) base::debug::StackTrace::StackTrace [0x100AE601+17] (d:\src\chrome\src\base\debug\stack_trace.cc:199) logging::LogMessage::~LogMessage [0x101031AE+94] (d:\src\chrome\src\base\logging.cc:554) base::win::AssertComInitialized [0x103A6AE0+144] (d:\src\chrome\src\base\win\com_init_util.cc:70) base::win::`anonymous namespace'::HookManager::DCheckedCoCreateInstance [0x103A5F78+8] (d:\src\chrome\src\base\win\com_init_check_hook.cc:248) update_client::`anonymous namespace'::GetGit [0x07603509+41] (d:\src\chrome\src\components\update_client\background_downloader_win.cc:138) update_client::BackgroundDownloader::BeginDownloadHelper [0x07601AFA+42] (d:\src\chrome\src\components\update_client\background_downloader_win.cc:485) update_client::BackgroundDownloader::BeginDownload [0x076019CD+237] (d:\src\chrome\src\components\update_client\background_downloader_win.cc:469) base::internal::FunctorTraits<void (__thiscall update_client::BackgroundDownloader::*)(GURL const &),void>::Invoke<update_client::BackgroundDownloader *,GURL const &> [0x075FEB08+24] (d:\src\chrome\src\base\bind_internal.h:210) base::internal::InvokeHelper<0,void>::MakeItSo<void (__thiscall update_client::BackgroundDownloader::*const &)(GURL const &),update_client::BackgroundDownloader *,GURL const &> [0x075FED51+49] (d:\src\chrome\src\base\bind_internal.h:275) base::internal::Invoker<base::internal::BindState<void (__thiscall update_client::BackgroundDownloader::*)(GURL const &),base::internal::UnretainedWrapper<update_client::BackgroundDownloader>,GURL>,void __cdecl(void)>::RunImpl<void (__thiscall update_clie [0x075FEF4A+90] (d:\src\chrome\src\base\bind_internal.h:351) base::internal::Invoker<base::internal::BindState<void (__thiscall update_client::BackgroundDownloader::*)(GURL const &),base::internal::UnretainedWrapper<update_client::BackgroundDownloader>,GURL>,void __cdecl(void)>::Run [0x07604BB4+36] (d:\src\chrome\src\base\bind_internal.h:329) base::Callback<void __cdecl(void),0,0>::Run [0x1004B015+53] (d:\src\chrome\src\base\callback.h:91) base::debug::TaskAnnotator::RunTask [0x100B59CB+491] (d:\src\chrome\src\base\debug\task_annotator.cc:61) base::internal::TaskTracker::PerformRunTask [0x1026A135+1221] (d:\src\chrome\src\base\task_scheduler\task_tracker.cc:335) base::internal::TaskTracker::RunNextTask [0x1026A8AC+348] (d:\src\chrome\src\base\task_scheduler\task_tracker.cc:252) base::internal::SchedulerWorker::Thread::ThreadMain [0x1025A853+771] (d:\src\chrome\src\base\task_scheduler\scheduler_worker.cc:80) base::`anonymous namespace'::ThreadFunc [0x10275EFC+188] (d:\src\chrome\src\base\threading\platform_thread_win.cc:91) BaseThreadInitThunk [0x760462C4+36] RtlSubscribeWnfStateChangeNotification [0x77880FD9+1081] RtlSubscribeWnfStateChangeNotification [0x77880FA4+1028] (No symbol) [0x00000000] robliao@, Could this be related to Issue 708303 ?
,
Jul 5 2017
Hitting this in SchedulerWorker generally means a migration was performed to the wrong context. I'll take a look.
,
Jul 5 2017
,
Jul 6 2017
,
Jul 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc4bd3708296d15a993eb953bf6583ebe187133b commit dc4bd3708296d15a993eb953bf6583ebe187133b Author: Robert Liao <robliao@chromium.org> Date: Mon Jul 10 18:24:58 2017 Switch the Updaters to use COM STA Task Runners On Windows, the background downloader uses the COM Global Interface Table, and Chromium requires these instances to have COM explictly initialized. Using a COM STA TaskRunner works for this case. BUG= 739461 Change-Id: I28fdc54af5ec34034498d904bba648fc40c3c2f0 Reviewed-on: https://chromium-review.googlesource.com/562537 Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Reviewed-by: Sorin Jianu <sorin@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Commit-Queue: Robert Liao <robliao@chromium.org> Cr-Commit-Position: refs/heads/master@{#485319} [modify] https://crrev.com/dc4bd3708296d15a993eb953bf6583ebe187133b/chrome/browser/component_updater/chrome_component_updater_configurator.cc [modify] https://crrev.com/dc4bd3708296d15a993eb953bf6583ebe187133b/extensions/browser/updater/update_client_config.cc
,
Jul 12 2017
,
Jul 17 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by robliao@chromium.org
, Jul 5 2017Components: Internals>TaskScheduler
Labels: -Pri-3 Pri-2
Owner: robliao@chromium.org
Status: Assigned (was: Untriaged)