New issue
Advanced search Search tips

Issue 922569 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Slow startup related to crash_reporter::SetUploadConsent

Project Member Reported by etienneb@chromium.org, Jan 16 (6 days ago)

Issue description

From this slow-report: 52d58a19901e6dba
Chrome Windows, 73.0.3664.3


The startup is about ~7 minutes in StartupBrowserCreator::ProcessCmdLineImpl

By looking to the sampling profiler, ~2 minutes in:
  NtCreateFile
 InsHook_NtCreateFile
 CreateFileInternal
 CreateFileW
 crashpad::`anonymous namespace\'::OpenFileForOutput
 crashpad::LoggingOpenFileForReadAndWrite(base::FilePath const &,crashpad::FileWriteMode,crashpad::FilePermissions)
 crashpad::Settings::OpenForWritingAndReadSettings(crashpad::Settings::Data *)
 crashpad::Settings::SetUploadsEnabled(bool)
 crash_reporter::SetUploadConsent(bool)
 metrics_services_manager::MetricsServicesManager::UpdateRunningServices()
 ChromeMetricsServiceClient::Observe(int,content::NotificationSource const &,content::NotificationDetails const &)
 content::NotificationServiceImpl::Notify(int,content::NotificationSource const &,content::NotificationDetails const &)
 BrowserList::AddBrowser(Browser *)
 Browser::Browser(Browser::CreateParams const &)
 StartupBrowserCreatorImpl::OpenTabsInBrowser(Browser *,bool,std::vector<StartupTab,std::allocator<StartupTab> > const &)
 StartupBrowserCreatorImpl::RestoreOrCreateBrowser(std::vector<StartupTab,std::allocator<StartupTab> > const &,StartupBrowserCreatorImpl::BrowserOpenBehavior,unsigned int,bool,bool)
 StartupBrowserCreatorImpl::DetermineURLsAndLaunch(bool,std::vector<GURL,std::allocator<GURL> > const &)
 StartupBrowserCreatorImpl::Launch(Profile *,std::vector<GURL,std::allocator<GURL> > const &,bool)
 StartupBrowserCreator::LaunchBrowser(base::CommandLine const &,Profile *,base::FilePath const &,chrome::startup::IsProcessStartup,chrome::startup::IsFirstRun)
 StartupBrowserCreator::LaunchBrowserForLastProfiles(base::CommandLine const &,base::FilePath const &,bool,Profile *,std::vector<Profile *,std::allocator<Profile *> > const &)
 StartupBrowserCreator::ProcessCmdLineImpl(base::CommandLine const &,base::FilePath const &,bool,Profile *,std::vector<Profile *,std::allocator<Profile *> > const &)
 StartupBrowserCreator::Start(base::CommandLine const &,base::FilePath const &,Profile *,std::vector<Profile *,std::allocator<Profile *> > const &)
 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()

 
crashpad.png
22.7 KB View Download

Comment 1 by gab@chromium.org, Jan 16 (6 days ago)

I/O is just atrociously slow in that trace, but yes writing to this file is worse than others. If we can we should move this write to a BEST_EFFORT task, but it wouldn't solve this 7 minute startup entirely.

Comment 2 by etienneb@chromium.org, Jan 16 (6 days ago)

Quick observation, there is a stackframe: InsHook_NtCreateFile
Which seems to be an hook.
  off:0x41c29  apphelp.pdb [956CB0E0626AEC2C096926275A26DC261]

Sign in to add a comment