We collected slow reports from users facing janks and found that the function mentioned above is taking too much time on the main thread, potentially causing janks.
The issue can be found in reports:
34680810bd933ccc - 300ms
Go to crash/ReportID to view the traces.
The stack trace that was hit the most:
<disk reads>
__ioctl
ioctl
<missing java stack>
net::ProxyConfigServiceAndroid::ProxyConfigServiceAndroid(scoped_refptr<base::SequencedTaskRunner> const&, scoped_refptr<base::SequencedTaskRunner> const&)
net::ProxyResolutionService::CreateSystemProxyConfigService(scoped_refptr<base::SequencedTaskRunner> const&)
ProxyServiceFactory::CreateProxyConfigService(PrefProxyConfigTracker*)
ProxyConfigMonitor::ProxyConfigMonitor(Profile*)
ProfileNetworkContextService::ProfileNetworkContextService(Profile*)
BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const
KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)
ProfileIOData::InitializeOnUIThread(Profile*)
ProfileImplIOData::Handle::LazyInitialize() const
ProfileImplIOData::Handle::GetResourceContext() const
content::StoragePartitionImplMap::Get(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool, bool)
content::(anonymous namespace)::GetStoragePartitionFromConfig(content::BrowserContext*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool, bool)
content::BrowserContext::GetStoragePartition(content::BrowserContext*, content::SiteInstance*, bool)
ProfileImpl::OnPrefsLoaded(Profile::CreateMode, bool)
Profile::CreateProfile(base::FilePath const&, Profile::Delegate*, Profile::CreateMode)
ProfileManager::CreateProfileHelper(base::FilePath const&)
ProfileManager::GetProfile(base::FilePath const&)
ProfileManager::CreateInitialProfile()
ChromeBrowserMainParts::PreMainMessageLoopRun()
content::BrowserMainLoop::PreMainMessageLoopRun()
base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*)
content::StartupTaskRunner::WrappedTask()
base::internal::Invoker<base::internal::BindState<void (media::AudioInputController::*)(), base::internal::UnretainedWrapper<media::AudioInputController> >, void ()>::Run(base::internal::BindStateBase*)
base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)
base::MessageLoop::DoWork()
base::MessagePumpForUI::OnNonDelayedLooperCallback()
base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*)
Comment 1 by bugdroid1@chromium.org
, Nov 7