Could crashlytics crash on Android?

拈花ヽ惹草 提交于 2019-12-06 06:55:35

问题


Here is an overview of a crash on fabric.io

  • java.lang.IllegalStateException - Fatal exception thrown on Scheduler.Worker thread
  • rx.exceptions.OnErrorFailedException - an exception originating somewhere in the depth of rx and ending in SafeSubscriber#_onError.
  • rx.exceptions.CompositeException - 2 exceptions occured
  • Casual chain - that's the interesting part

    Caused by rx.exceptions.CompositeException$CompositeExceptionCausalChain: Chain of Causes for CompositeException In Order Received =>
       at com.crashlytics.android.core.TrimmedThrowableData.<init>(TrimmedThrowableData.java:19)
       at com.crashlytics.android.core.TrimmedThrowableData.<init>(TrimmedThrowableData.java:20)
       at com.crashlytics.android.core.TrimmedThrowableData.<init>(TrimmedThrowableData.java:20)
       at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(CrashlyticsController.java:1090)
       at com.crashlytics.android.core.CrashlyticsController.writeFatal(CrashlyticsController.java:852)
       at com.crashlytics.android.core.CrashlyticsController.access$400(CrashlyticsController.java:59)
       at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:292)
       at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:285)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
       at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
       at java.lang.Thread.run(Thread.java:776)
    
  • retrofit.RetrofitError - 504 Gateway Timeout - probably supposed to be handled in one of the on onError

The version of Rx is 1.3.4. At first I thought that Rx missed the actual exception that occurred in one of the onError methods, but I found this issue https://github.com/ReactiveX/RxJava/issues/3679 and it seems to be resolved, by looking at source code of SafeSubscriber https://github.com/ReactiveX/RxJava/blob/1.x/src/main/java/rx/observers/SafeSubscriber.java it seems like rx should report the exception from onError correctly.

So, there is a CompositeException containing a retrofit exception, which is supposed to happen from time to time, and a stacktrace with references to crashlytics code with no references to any app code. I wonder what I should make out of this.

来源:https://stackoverflow.com/questions/48868111/could-crashlytics-crash-on-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!