New issue
Advanced search Search tips

Issue 900691 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Potential jank caused by NotificationDisplayServiceImpl::NotificationDisplayServiceImpl() at startup

Project Member Reported by ssid@chromium.org, Oct 31

Issue description

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

Go to crash/ReportID to view the traces.

The stack trace that was hit the most:

<missing java stack>
NotificationPlatformBridge::Create()
BrowserProcessImpl::notification_platform_bridge()
NotificationDisplayServiceImpl::NotificationDisplayServiceImpl(Profile*)
BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const
KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool)
PlatformNotificationServiceImpl::GetDisplayedNotifications(content::BrowserContext*, base::RepeatingCallback<void (std::__ndk1::unique_ptr<std::__ndk1::set<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >, std::__ndk1::default_delete<std::__ndk1::set<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > >, bool)> const&)
content::PlatformNotificationContextImpl::Initialize()
content::StoragePartitionImpl::Create(content::BrowserContext*, bool, base::FilePath const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > 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*)
 

Sign in to add a comment