Skip to content

ANRs due to leaveBreadcrumb #2446

Description

@peterdk

Describe the bug

I am seeing ANRs that are fully on conto of Bugsnag leaveBreadcrumb. It seems that the NDK part of that logic is causing hangs.

Environment

  • Android version: 13
  • BugSnag version: 6.27.0
  • Emulator or physical device: real devices

Error messages

ANR: Application did not respond to UI input
libc.so +0x8921c           syscall
libc.so +0x8dafc           __futex_wait_ex(void volatile*, bool, int, bool, timespec const*)
libc.so +0xfcf34           NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)
libc.so +0xfcc68           pthread_mutex_lock
libbugsnag-ndk.so +0x542dc <unknown>
boot.oat +0x1072764        art_jni_trampoline
                           com.bugsnag.android.ndk.NativeBridge.addBreadcrumb (SourceFile:-2)
                           com.bugsnag.android.ndk.NativeBridge.onStateChange (NativeBridge:122)
                           com.bugsnag.android.BaseObservable.updateState$bugsnag_android_core_release (BaseObservable:37)
                           com.bugsnag.android.BreadcrumbState.add (BreadcrumbState:41)
                           com.bugsnag.android.Client.leaveBreadcrumb (Client:1151)
                           com.bugsnag.android.SystemBroadcastReceiver.onReceive (SystemBroadcastReceiver:56)
                           SamsungStoreRatingManager$showRatingDialogIfApplicable$authorityReceiver$1.onReceive (SamsungStoreRatingManager:99)
                           android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1838)
                           android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run (Unknown:2)
                           android.os.Handler.handleCallback (Handler.java:942)
                           android.os.Handler.dispatchMessage (Handler.java:99)
                           android.os.Looper.loopOnce (Looper.java:211)
                           android.os.Looper.loop (Looper.java:300)
                           android.app.ActivityThread.main (ActivityThread.java:8232)
                           java.lang.reflect.Method.invoke (Method.java:-2)
                           com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
                           com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1028)
ANR: Application did not respond to UI input
libc.so +0x8921c           syscall
libc.so +0x8dafc           __futex_wait_ex(void volatile*, bool, int, bool, timespec const*)
libc.so +0xfcf34           NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)
libc.so +0xfcc68           pthread_mutex_lock
libbugsnag-ndk.so +0x542dc <unknown>
boot.oat +0x105c934        art_jni_trampoline
                           com.bugsnag.android.ndk.NativeBridge.addBreadcrumb (SourceFile:-2)
                           com.bugsnag.android.ndk.NativeBridge.onStateChange (NativeBridge:122)
                           com.bugsnag.android.BaseObservable.updateState$bugsnag_android_core_release (BaseObservable:37)
                           com.bugsnag.android.BreadcrumbState.add (BreadcrumbState:41)
                           com.bugsnag.android.Client.leaveAutoBreadcrumb (Client:1169)
                           com.bugsnag.android.Client$6.invoke (Client:430)
                           com.bugsnag.android.Client$6.invoke (Client:425)
                           com.bugsnag.android.ClientComponentCallbacks.onTrimMemory (ClientComponentCallbacks:23)
                           android.content.ComponentCallbacksController.lambda$dispatchTrimMemory$1 (ComponentCallbacksController.java:109)
                           android.content.ComponentCallbacksController$$ExternalSyntheticLambda1.accept (D8$$SyntheticClass:4)
                           android.content.ComponentCallbacksController.forAllComponentCallbacks (ComponentCallbacksController.java:124)
                           android.content.ComponentCallbacksController.dispatchTrimMemory (ComponentCallbacksController.java:107)
                           android.app.Application.onTrimMemory (Application.java:289)
                           android.app.ActivityThread.handleTrimMemory (ActivityThread.java:6641)
                           android.app.ActivityThread.-$$Nest$mhandleTrimMemory (ActivityThread.java)
                           android.app.ActivityThread$ApplicationThread.lambda$scheduleTrimMemory$0 (ActivityThread.java:1811)
                           android.app.ActivityThread$ApplicationThread$$ExternalSyntheticLambda2.accept (D8$$SyntheticClass:8)
                           com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke (PooledLambdaImpl.java:281)
                           com.android.internal.util.function.pooled.PooledLambdaImpl.invoke (PooledLambdaImpl.java:204)
                           com.android.internal.util.function.pooled.OmniFunction.run (OmniFunction.java:97)
                           android.os.Handler.handleCallback (Handler.java:942)
                           android.os.Handler.dispatchMessage (Handler.java:99)
                           android.os.Looper.loopOnce (Looper.java:211)
                           android.os.Looper.loop (Looper.java:300)
                           android.app.ActivityThread.main (ActivityThread.java:8232)
                           java.lang.reflect.Method.invoke (Method.java:-2)
                           com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
                           com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1028)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    scheduledWork is starting on this feature/bug

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions