Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DynamicShortcut makes app crash on startup #1296

Closed
oldergod opened this issue Apr 24, 2019 · 1 comment · Fixed by #1302
Closed

DynamicShortcut makes app crash on startup #1296

oldergod opened this issue Apr 24, 2019 · 1 comment · Fixed by #1302
Milestone

Comments

@oldergod
Copy link
Member

2019-04-24 15:08:38.997 com.squareup.cash.beta.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.squareup.cash.beta.debug, PID: 10131
    java.lang.RuntimeException: Unable to get provider leakcanary.internal.LeakSentryInstaller: java.lang.IllegalArgumentException: Max number of dynamic shortcuts exceeded
        at android.app.ActivityThread.installProvider(ActivityThread.java:6376)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5932)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5847)
        at android.app.ActivityThread.access$1000(ActivityThread.java:198)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6649)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
     Caused by: java.lang.IllegalArgumentException: Max number of dynamic shortcuts exceeded
        at android.os.Parcel.createException(Parcel.java:1946)
        at android.os.Parcel.readException(Parcel.java:1910)
        at android.os.Parcel.readException(Parcel.java:1860)
        at android.content.pm.IShortcutService$Stub$Proxy.addDynamicShortcuts(IShortcutService.java:497)
        at android.content.pm.ShortcutManager.addDynamicShortcuts(ShortcutManager.java:386)
        at leakcanary.internal.InternalLeakCanary.addDynamicShortcut(InternalLeakCanary.kt:141)
        at leakcanary.internal.InternalLeakCanary.onLeakSentryInstalled(InternalLeakCanary.kt:63)
        at leakcanary.internal.InternalLeakSentry.install(InternalLeakSentry.kt:61)
        at leakcanary.internal.LeakSentryInstaller.onCreate(LeakSentryInstaller.kt:19)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1917)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1892)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6371)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5932) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5847) 
        at android.app.ActivityThread.access$1000(ActivityThread.java:198) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6649) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826) 
     Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.pm.ShortcutService.enforceMaxActivityShortcuts(ShortcutService.java:1591)
        at com.android.server.pm.ShortcutPackage.enforceShortcutCountsBeforeOperation(ShortcutPackage.java:1104)
        at com.android.server.pm.ShortcutService.addDynamicShortcuts(ShortcutService.java:1876)
        at android.content.pm.IShortcutService$Stub.onTransact(IShortcutService.java:118)
        at android.os.Binder.execTransact(Binder.java:731)
@pyricau
Copy link
Member

pyricau commented Apr 24, 2019

This is weird because we do check that we're under the max count before adding it.

To temporary disable it until the bug is fixed, setR.bool.leak_canary_add_dynamic_shortcut to false

pyricau added a commit that referenced this issue Apr 25, 2019
pyricau added a commit that referenced this issue Apr 25, 2019
@pyricau pyricau added this to the 2.0 Next Release milestone Apr 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants