Firebase-android-sdk: java.util.concurrent.RejectedExecutionException in Crashlytics

Created on 29 Sep 2020  Â·  20Comments  Â·  Source: firebase/firebase-android-sdk

Describe your environment

  • Android Studio version: 4.0.1
  • Firebase Component: Crashlytics
  • Component version: 17.2.1

Describe the problem

Crashes on Huawei devices with api levels 24, 26, 27, 28, 29

java.util.concurrent.RejectedExecutionException: at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution (ThreadPoolExecutor.java:2104) at java.util.concurrent.ThreadPoolExecutor.reject (ThreadPoolExecutor.java:848) at java.util.concurrent.ThreadPoolExecutor.execute (ThreadPoolExecutor.java:1413) at java.util.concurrent.Executors$DelegatedExecutorService.execute (Executors.java:624) at com.google.android.gms.tasks.zzc.zza at com.google.android.gms.tasks.zzq.zza at com.google.android.gms.tasks.zzu.zza at com.google.android.gms.tasks.zze.run at java.util.concurrent.ThreadPoolExecutor.processTask (ThreadPoolExecutor.java:1187) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:60) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27) at java.lang.Thread.run (Thread.java:784)

Steps to reproduce

I was not able to reproduce it locally but it happens regularly in production.

crashlytics needs-attention

All 20 comments

same here,

right after update crashlytics sdk
(firebase-bom:25.12.0 / crashlytics-ndk)

detected on Google Play Prelaunch Report. (only on Galaxy S9 / Android 8.0)

FATAL EXCEPTION: Crashlytics Exception Handler1
java.util.concurrent.RejectedExecutionException: Task com.google.android.gms.tasks.zze@b06f06e rejected from java.util.concurrent.ThreadPoolExecutor@24a130f[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 54]
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2078)
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:843)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1389)
    at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:620)
    at com.google.android.gms.tasks.zzc.zza(com.google.android.gms:play-services-tasks@@17.1.0:6)
    at com.google.android.gms.tasks.zzq.zza(com.google.android.gms:play-services-tasks@@17.1.0:19)
    at com.google.android.gms.tasks.zzu.zza(com.google.android.gms:play-services-tasks@@17.1.0:104)
    at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@17.1.0:15)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:60)
    at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
    at java.lang.Thread.run(Thread.java:764)

Screen Shot 2020-10-16 at 18 57 00

Does Anyone found a solution for this issue?

Hi folks - wanted to just ping this thread and let you know we're looking into this and I'll let you know when I have more information.

Hello Sir,
This is the response from Firebase on the Crashlytics library issue.

---- On Sat, 24 Oct 2020 00:10:01 +0530 [email protected] wrote ----

Hi folks - wanted to just ping this thread and let you know we're looking into this and I'll let you know when I have more information.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Same here, this is the highest crash in our app, mostly coming from Samsung and Huawei devices.
@mrwillis21 do you think there's a chance this might be caused by a problem on transitive dependencies? (e.g. some dependency update transitively updated something else (usually play-services-related) which crashlytics depends on)

@sergiomarqmoura I'm not sure yet, but if you could post the stack trace you're seeing, it would help track it down. 😄

Hey @mrwillis21 , this is the status so far:

In the beginning, we had firebase-crashlytics:17.2.2, where the following dependencies were using different versions other than the ones Crashlytics is expecting (due to gradle resolving a higher version from one other dependency):

  • play-services-tasks: Using 17.1.0 instead of 17.0.0 (the one crashlytics depends on)
  • play-services-basement: Using 17.1.1 instead of 17.0.0 (the one crashlytics depends on)

With this configuration, the following crash was appearing:

java.util.concurrent.RejectedExecutionException: 
  at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution (ThreadPoolExecutor.java:2086)
  at java.util.concurrent.ThreadPoolExecutor.reject (ThreadPoolExecutor.java:848)
  at java.util.concurrent.ThreadPoolExecutor.execute (ThreadPoolExecutor.java:1394)
  at java.util.concurrent.Executors$DelegatedExecutorService.execute (Executors.java:630)
  at com.google.android.gms.tasks.zzc.zza (zzc.java:6)
  at com.google.android.gms.tasks.zzq.zza (zzq.java:19)
  at com.google.android.gms.tasks.zzu.zza (zzu.java:104)
  at com.google.android.gms.tasks.zzp.onSuccess (zzp.java:9)
  at com.google.android.gms.tasks.zzn.run (zzn.java:4)
  at com.google.android.gms.tasks.zzt.execute (zzt.java:2)
  at com.google.android.gms.tasks.zzm.zza (zzm.java:11)
  at com.google.android.gms.tasks.zzq.zza (zzq.java:19)
  at com.google.android.gms.tasks.zzu.zze (zzu.java:151)
  at com.google.android.gms.tasks.zzu.addOnSuccessListener (zzu.java:34)
  at com.google.android.gms.tasks.zzo.run (zzo.java:18)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
  at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:60)
  at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27)
  at java.lang.Thread.run (Thread.java:919)

Our first guess, since the stacktrace mentions the tasks package, was to force play-services-tasks:17.0.0. After doing this, we started seeing the following stacktrace (slightly different):

java.util.concurrent.RejectedExecutionException: 
  at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution (ThreadPoolExecutor.java:2086)
  at java.util.concurrent.ThreadPoolExecutor.reject (ThreadPoolExecutor.java:848)
  at java.util.concurrent.ThreadPoolExecutor.execute (ThreadPoolExecutor.java:1394)
  at java.util.concurrent.Executors$DelegatedExecutorService.execute (Executors.java:630)
  at com.google.android.gms.tasks.zzc.onComplete (zzc.java:6)
  at com.google.android.gms.tasks.zzr.zza (zzr.java:19)
  at com.google.android.gms.tasks.zzu.setResult (zzu.java:86)
  at com.google.android.gms.tasks.zzo.onSuccess (zzo.java:9)
  at com.google.android.gms.tasks.zzn.run (zzn.java:4)
  at com.google.android.gms.tasks.zzt.execute (zzt.java:2)
  at com.google.android.gms.tasks.zzm.onComplete (zzm.java:11)
  at com.google.android.gms.tasks.zzr.zza (zzr.java:19)
  at com.google.android.gms.tasks.zzu.zze (zzu.java:132)
  at com.google.android.gms.tasks.zzu.addOnSuccessListener (zzu.java:32)
  at com.google.android.gms.tasks.zzp.run (zzp.java:18)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
  at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:60)
  at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27)
  at java.lang.Thread.run (Thread.java:919)

Now, we also forced play-services-basement:17.0.0 and we're waiting to see if the crash is gone or not.
Will update here once we have further info.

@sergiomarqmoura Thanks so much! This is super helpful!

@mrwillis21 I can now confirm that forcing play-services-basement:17.0.0 still produces the last stacktrace in the message above, in some cases.
This is our current dependency tree for Crashlytics:

+--- com.google.firebase:firebase-crashlytics:17.2.2
|    |    +--- com.google.android.datatransport:transport-api:2.2.1
|    |    |    \--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    +--- com.google.android.datatransport:transport-backend-cct:2.3.1
|    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    |    +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|    |    |    +--- com.google.android.datatransport:transport-runtime:2.2.4
|    |    |    |    +--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    |    |    +--- com.google.android.datatransport:transport-api:2.2.1 (*)
|    |    |    |    \--- com.google.dagger:dagger:2.27 -> 2.29.1 (*)
|    |    |    \--- com.google.firebase:firebase-encoders-json:16.1.0 -> 17.0.0
|    |    |         +--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    |         \--- com.google.firebase:firebase-encoders:16.0.0
|    |    |              \--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    +--- com.google.android.datatransport:transport-runtime:2.2.4 (*)
|    |    +--- com.google.android.gms:play-services-tasks:17.0.0
|    |    |    \--- com.google.android.gms:play-services-basement:17.0.0
|    |    |         +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
|    |    |         +--- androidx.core:core:1.0.0 -> 1.5.0-alpha04 (*)
|    |    |         \--- androidx.fragment:fragment:1.0.0 -> 1.2.5 (*)
|    |    +--- com.google.firebase:firebase-common:19.3.1
|    |    |    +--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    |    \--- com.google.firebase:firebase-components:16.0.0
|    |    |         \--- androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
|    |    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    |    +--- com.google.firebase:firebase-encoders:16.0.0 (*)
|    |    +--- com.google.firebase:firebase-encoders-json:17.0.0 (*)
|    |    +--- com.google.firebase:firebase-installations:16.3.3
|    |    |    +--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    |    +--- com.google.firebase:firebase-common:19.3.0 -> 19.3.1 (*)
|    |    |    +--- com.google.firebase:firebase-components:16.0.0 (*)
|    |    |    \--- com.google.firebase:firebase-installations-interop:16.0.0
|    |    |         \--- com.google.android.gms:play-services-tasks:17.0.0 (*)
|    |    +--- com.google.firebase:firebase-installations-interop:16.0.0 (*)
|    |    +--- com.google.firebase:firebase-measurement-connector:18.0.0
|    |    |    \--- com.google.android.gms:play-services-basement:17.0.0 (*)
|    |    \--- com.squareup.okhttp3:okhttp:3.12.1 -> 4.6.0 (*)

so in terms of Crashlytics dependencies we're still using different versions of, we have the following:

  • androidx.annotation:annotation:1.1.0 -> 1.2.0-alpha01
  • com.google.dagger:dagger:2.27 -> 2.29.1
  • com.google.firebase:firebase-encoders-json:16.1.0 -> 17.0.0
  • androidx.collection:collection:1.0.0 -> 1.1.0
  • androidx.core:core:1.0.0 -> 1.5.0-alpha04
  • androidx.fragment:fragment:1.0.0 -> 1.2.5
  • com.google.firebase:firebase-common:19.3.0 -> 19.3.1
  • com.squareup.okhttp3:okhttp:3.12.1 -> 4.6.0

Hi everyone.
We reproduced this crash on OPPO Reno V2 device. (It is only device where we can do it).
Steps to reproduce were following:

  1. Start application
  2. Rotate device (it lead to call configurationChanged)
  3. Exit app

In log we saw the same crash stack.
java.util.concurrent.RejectedExecutionException: Task com.google.android.gms.tasks.zze@2a661c3 rejected from java.util.concurrent.ThreadPoolExecutor@2733a40[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 426] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2086) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:848) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1394) at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:630) at com.google.android.gms.tasks.zzc.zza(com.google.android.gms:play-services-tasks@@17.1.0:6) at com.google.android.gms.tasks.zzq.zza(com.google.android.gms:play-services-tasks@@17.1.0:19) at com.google.android.gms.tasks.zzu.zza(com.google.android.gms:play-services-tasks@@17.1.0:104) at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@17.1.0:15) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:60) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:919)

I tried to throw test exception during app exiting, but I had no luck.

P.S. Pseudo code for exit() method
currentActivity.finish(); currentActivity.onStop(); System.runFinalization(); System.exit(0);

@filosov this is great! Thanks! Does this require the device rotation, or can you reproduce it without that step?

Also, @filosov - since you're able to reproduce this, can you please run adb shell setprop log.tag.FirebaseCrashlytics DEBUG and then post the output of adb logcat -s FirebaseCrashlytics?

@mrwillis21 here is logcat output
`2020-10-30 12:52:41.992 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Crashlytics automatic data collection ENABLED by global Firebase setting.
2020-10-30 12:52:41.992 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Firebase Analytics is available.
2020-10-30 12:52:41.993 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Firebase Analytics listener registered successfully.
2020-10-30 12:52:42.000 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Reading cached settings...
2020-10-30 12:52:42.004 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Loaded cached settings: {"settings_version":3,"cache_duration":86400,"features":{"collect_logged_exceptions":true,"collect_reports":true,"collect_analytics":false,"prompt_enabled":false,"push_enabled":false,"firebase_crashlytics_enabled":false},"app":{"status":"activated","update_required":false,"report_upload_variant":2,"native_report_upload_variant":2},"fabric":{"org_id":"5497b857f233b548d400cab8","bundle_id":"com.melesta.toydefense3"},"expires_at":1604058509342}
2020-10-30 12:52:42.004 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Returning cached settings.
2020-10-30 12:52:42.005 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Mapping file ID is: 00000000000000000000000000000000
2020-10-30 12:52:42.006 9728-9728/com.melesta.toydefense3 I/FirebaseCrashlytics: Initializing Crashlytics 17.2.2
2020-10-30 12:52:42.007 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Installer package name is: com.ghisler.android.TotalCommander
2020-10-30 12:52:42.023 9728-9728/com.melesta.toydefense3 D/FirebaseCrashlytics: Exception handling initialization successful
2020-10-30 12:52:42.046 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Found matching FID, using Crashlytics IID: 869d7c462eb74c4399185c1d99dc8f15
2020-10-30 12:52:42.048 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Opening a new session with ID 5F9BE26A0017-0001-2600-7AA26A49968C
2020-10-30 12:52:42.059 9728-9791/com.melesta.toydefense3 I/FirebaseCrashlytics: Crashlytics NDK initialization successful
2020-10-30 12:52:42.118 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Initialization marker file created.
2020-10-30 12:52:42.119 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Registered Firebase Analytics event receiver for breadcrumbs
2020-10-30 12:52:42.119 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Finalizing previously open sessions.
2020-10-30 12:52:42.159 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Closing open sessions.
2020-10-30 12:52:42.159 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Closing session: 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.159 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting session parts for ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.161 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Session 5F9BE22A0124-0001-2495-7AA26A49968C has fatal exception: false
2020-10-30 12:52:42.162 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Session 5F9BE22A0124-0001-2495-7AA26A49968C has non-fatal exceptions: true
2020-10-30 12:52:42.163 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting SessionStart data for session ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.165 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting SessionUser data for session ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.166 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting SessionApp data for session ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.168 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting SessionOS data for session ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.169 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Collecting SessionDevice data for session ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.170 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Found Non Fatal for session ID 5F9BE22A0124-0001-2495-7AA26A49968C in 5F9BE22A0124-0001-2495-7AA26A49968CSessionEvent0000000000.cls
2020-10-30 12:52:42.172 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Removing session part files for ID 5F9BE22A0124-0001-2495-7AA26A49968C
2020-10-30 12:52:42.176 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Finalizing report for session 5F9BE22A0124000124957AA26A49968C
2020-10-30 12:52:42.223 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Closed all previously open sessions
2020-10-30 12:52:42.224 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Unsent reports are available.
2020-10-30 12:52:42.224 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Crashlytics automatic data collection ENABLED by global Firebase setting.
2020-10-30 12:52:42.224 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Automatic data collection is enabled. Allowing upload.
2020-10-30 12:52:42.269 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Initialization marker file removed: true
2020-10-30 12:52:42.622 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Checking for crash reports...
2020-10-30 12:52:42.624 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Found crash report /data/user/0/com.melesta.toydefense3/files/.com.google.firebase.crashlytics/nonfatal-sessions/5F9BE22A0124-0001-2495-7AA26A49968C.cls
2020-10-30 12:52:42.624 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Reports are being sent.
2020-10-30 12:52:42.634 9728-9865/com.melesta.toydefense3 D/FirebaseCrashlytics: Starting report processing in 1.0 second(s)...
2020-10-30 12:52:42.714 9728-9796/com.melesta.toydefense3 D/FirebaseCrashlytics: Received Analytics message: 3 Bundle[{params=Bundle[{_o=auto, _sc=RootActivity, _si=5693558627082794508}], name=_vs, timestampInMillis=1604051562644}]
2020-10-30 12:52:42.723 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Crashlytics report successfully enqueued to DataTransport: 5F9BE22A0124000124957AA26A49968C
2020-10-30 12:52:43.639 9728-9865/com.melesta.toydefense3 D/FirebaseCrashlytics: Attempting to send 1 report(s)
2020-10-30 12:52:43.640 9728-9865/com.melesta.toydefense3 D/FirebaseCrashlytics: Send to Reports Endpoint disabled. Removing Reports Endpoint report.
2020-10-30 12:52:43.640 9728-9865/com.melesta.toydefense3 D/FirebaseCrashlytics: Removing report at /data/user/0/com.melesta.toydefense3/files/.com.google.firebase.crashlytics/nonfatal-sessions/5F9BE22A0124-0001-2495-7AA26A49968C.cls
2020-10-30 12:52:44.297 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Persisting non-fatal event for session 5F9BE26A0017000126007AA26A49968C
2020-10-30 12:52:44.414 9728-9796/com.melesta.toydefense3 D/FirebaseCrashlytics: Received Analytics message: 3 Bundle[{params=Bundle[{_o=auto, _pc=RootActivity, _pi=5693558627082794508, _sc=EngineActivity, _si=5693558627082794509}], name=_vs, timestampInMillis=1604051564245}]
2020-10-30 12:52:44.430 9728-9791/com.melesta.toydefense3 D/FirebaseCrashlytics: Crashlytics is logging non-fatal exception "java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.DisplayCutout.getSafeInsetLeft()' on a null object reference" from thread main
2020-10-30 12:52:49.989 9728-9796/com.melesta.toydefense3 D/FirebaseCrashlytics: Received Analytics message: 3 Bundle[{params=Bundle[{_o=app, _sc=EngineActivity, _si=5693558627082794509}], name=init_game, timestampInMillis=1604051569946}]
2020-10-30 12:52:53.002 9728-9796/com.melesta.toydefense3 D/FirebaseCrashlytics: Received Analytics message: 3 Bundle[{params=Bundle[{_o=auto, _et=8740, _pc=EngineActivity, _pi=5693558627082794509, _sc=EngineActivity, _si=5693558627082794510, _sn=TowerUpgrades}], name=_vs, timestampInMillis=1604051572963}]
2020-10-30 12:52:53.074 9728-9796/com.melesta.toydefense3 D/FirebaseCrashlytics: Received Analytics message: 3 Bundle[{params=Bundle[{_o=auto, _et=8740, _fr=1, _sc=EngineActivity, _si=5693558627082794509}], name=_e, timestampInMillis=1604051572961}]
2020-10-30 12:52:56.859 9728-10111/com.melesta.toydefense3 D/FirebaseCrashlytics: Executing shutdown hook for awaitEvenIfOnMainThread task continuation executor
2020-10-30 12:52:56.861 9728-10110/com.melesta.toydefense3 D/FirebaseCrashlytics: Executing shutdown hook for com.google.firebase.crashlytics.startup
2020-10-30 12:52:56.865 9728-10109/com.melesta.toydefense3 D/FirebaseCrashlytics: Executing shutdown hook for Crashlytics Exception Handler

--------- beginning of crash`

I think device rotation is not mandatory, but it simplifier crash reproduce (because it generate non-fatal exception in my code). I guess that crash has occured because some of reporting task exists at the moment of app exiting (sending firebase event or sending non-fatal exception info).

This crash probably unrelated to screen rotation, my app has fixed screen orientation.

Hi everyone, an update from our side. We seem to have solved this with an update which essentially changed the following:

  • Downgraded firebase-analytics:17.6.0 -> 17.5.0
  • Downgraded firebase-messaging:20.3.0 -> 20.2.0
  • Removed an android:priority attribute from an intent filter registered in a BroadcastReceiver, since we thought this could affect the scheduling of Crashlytics tasks in some way.

We used to see this crash ~twice/hour and we've now been live for 3.5 days and not a single occurrence so far. However, we're not sure which of the actions did the trick

I observed crashes with the following dependencies variants:

com.google.firebase:firebase-analytics:17.4.4
com.google.firebase:firebase-ads:19.3.0
com.google.firebase:firebase-crashlytics:17.1.1
com.google.firebase:firebase-analytics:17.5.0
com.google.firebase:firebase-ads:19.4.0
com.google.firebase:firebase-crashlytics:17.2.1

Crash rate ~ 3 crash per day

However, there is no new crash events since Oct 31 despite I haven't changed anything on my side.

I observed crashes with the following dependencies variants:

com.google.firebase:firebase-analytics:17.4.4
com.google.firebase:firebase-ads:19.3.0
com.google.firebase:firebase-crashlytics:17.1.1
com.google.firebase:firebase-analytics:17.5.0
com.google.firebase:firebase-ads:19.4.0
com.google.firebase:firebase-crashlytics:17.2.1

Crash rate ~ 3 crash per day

However, there is no new crash events since Oct 31 despite I haven't changed anything on my side.

Is crashlytics working for you?

I observed crashes with the following dependencies variants:

com.google.firebase:firebase-analytics:17.4.4
com.google.firebase:firebase-ads:19.3.0
com.google.firebase:firebase-crashlytics:17.1.1
com.google.firebase:firebase-analytics:17.5.0
com.google.firebase:firebase-ads:19.4.0
com.google.firebase:firebase-crashlytics:17.2.1

Crash rate ~ 3 crash per day
However, there is no new crash events since Oct 31 despite I haven't changed anything on my side.

Is crashlytics working for you?

Yes.

Hi everyone - We've just released Firebase Crashlytics v.17.3.0 which should address this problem. Please try it out and let me know how it goes for you. :)

If anyone else is still having a problem with this using 17.3.0, let us know. :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lamba92 picture lamba92  Â·  3Comments

mrsylerpowers picture mrsylerpowers  Â·  3Comments

AyatKhraisat picture AyatKhraisat  Â·  6Comments

ANR
RodolfoGS picture RodolfoGS  Â·  4Comments

SteveBurkert picture SteveBurkert  Â·  3Comments