New issue
Advanced search Search tips

Issue 891537 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Potential jank caused by GCMKeyStore::DidLoadKeys()

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

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:
4f26ac67a175a22a

Go to crash/ReportID to view the traces.

The stack trace that was hit the most:
  fe_mul
           point_double
           ec_GFp_nistp256_points_mul
           ec_point_mul_scalar
           EC_KEY_check_key
           EC_KEY_parse_private_key
           eckey_priv_decode
           EVP_parse_private_key

           crypto::ECPrivateKey::CreateFromPrivateKeyInfo(std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > const&)

           gcm::GCMKeyStore::DidLoadKeys(bool, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > >)

           void base::internal::FunctorTraits<void (gcm::GCMKeyStore::*)(bool, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > >), void>::Invoke<void (gcm::GCMKeyStore::*)(bool, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > >), base::WeakPtr<gcm::GCMKeyStore>, bool, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > > >(void (gcm::GCMKeyStore::*)(bool, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > >), base::WeakPtr<gcm::GCMKeyStore>&&, bool&&, std::__ndk1::unique_ptr<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> >, std::__ndk1::default_delete<std::__ndk1::vector<gcm::EncryptionData, std::__ndk1::allocator<gcm::EncryptionData> > > >&&)
...
           base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay)

           void base::internal::FunctorTraits<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), void>::Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay&&)

           base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)
           base::MessageLoop::RunTask(base::PendingTask*)
           base::MessageLoop::DoWork()
           base::MessagePumpForUI::OnNonDelayedLooperCallback()
           base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*)
 
trace-4f26ac67a175a22a.gz
161 KB Download
Cc: joh...@chromium.org na...@chromium.org
Components: Services>CloudMessaging
Cc: -joh...@chromium.org

Sign in to add a comment