[go: nahoru, domu]

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

java.util.concurrent.RejectedExecutionException in Crashlytics #2013

Closed
Mikhael-Danilov opened this issue Sep 29, 2020 · 20 comments
Closed

java.util.concurrent.RejectedExecutionException in Crashlytics #2013

Mikhael-Danilov opened this issue Sep 29, 2020 · 20 comments

Comments

@Mikhael-Danilov
Copy link

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.

@groscalin
Copy link

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

@subhaskadam
Copy link

Does Anyone found a solution for this issue?

@mrwillis21
Copy link
Contributor

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.

@subhaskadam
Copy link
subhaskadam commented Oct 23, 2020 via email

@sergiomarqmoura
Copy link
sergiomarqmoura commented Oct 26, 2020

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)

@mrwillis21
Copy link
Contributor

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

@sergiomarqmoura
Copy link

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.

@mrwillis21
Copy link
Contributor

@sergiomarqmoura Thanks so much! This is super helpful!

@sergiomarqmoura
Copy link
sergiomarqmoura commented Oct 27, 2020

@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

@ekharkunov
Copy link

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);

@mrwillis21
Copy link
Contributor

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

@mrwillis21
Copy link
Contributor

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?

@ekharkunov
Copy link
ekharkunov commented Nov 2, 2020

@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).

@Mikhael-Danilov
Copy link
Author

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

@sergiomarqmoura
Copy link
sergiomarqmoura commented Nov 2, 2020

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

@Mikhael-Danilov
Copy link
Author
Mikhael-Danilov commented Nov 2, 2020

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.

@subhaskadam
Copy link

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?

@Mikhael-Danilov
Copy link
Author

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.

@mrwillis21
Copy link
Contributor

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. :)

@mrwillis21
Copy link
Contributor

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

@firebase firebase locked and limited conversation to collaborators Jan 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants