【问题标题】:FirebaseCrashlytics: Create report HTTP request failed. okhttp3 timeoutFirebaseCrashlytics:创建报告 HTTP 请求失败。 okhttp3 超时
【发布时间】:2020-10-31 04:09:14
【问题描述】:

由于连接超时问题,Crashlytics 未能报告致命/非致命崩溃。

这是我的应用级构建 gradle

implementation 'com.google.firebase:firebase-core:17.4.4'
implementation 'com.google.firebase:firebase-crashlytics:17.1.1'
implementation 'com.google.firebase:firebase-analytics:17.4.4'

现在没有记录崩溃,每次我打开应用程序时都会收到这个,

E/FirebaseCrashlytics: Create report HTTP request failed.
    java.io.InterruptedIOException: timeout
        at okhttp3.internal.connection.Transmitter.timeoutExit(Transmitter.kt:105)
        at okhttp3.internal.connection.Transmitter.maybeReleaseConnection(Transmitter.kt:295)
        at okhttp3.internal.connection.Transmitter.noMoreExchanges(Transmitter.kt:259)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:202)
        at okhttp3.RealCall.execute(RealCall.kt:67)
        at com.google.firebase.crashlytics.internal.network.HttpRequest.execute(HttpRequest.java:129)
        at com.google.firebase.crashlytics.internal.report.network.DefaultCreateReportSpiCall.invoke(DefaultCreateReportSpiCall.java:90)
        at com.google.firebase.crashlytics.internal.report.network.CompositeCreateReportSpiCall.invoke(CompositeCreateReportSpiCall.java:34)
        at com.google.firebase.crashlytics.internal.report.ReportUploader.uploadReport(ReportUploader.java:116)
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:194)
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.onRun(ReportUploader.java:149)
        at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.io.IOException: Canceled
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:65)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:194)
        at okhttp3.RealCall.execute(RealCall.kt:67) 
        at com.google.firebase.crashlytics.internal.network.HttpRequest.execute(HttpRequest.java:129) 
        at com.google.firebase.crashlytics.internal.report.network.DefaultCreateReportSpiCall.invoke(DefaultCreateReportSpiCall.java:90) 
        at com.google.firebase.crashlytics.internal.report.network.CompositeCreateReportSpiCall.invoke(CompositeCreateReportSpiCall.java:34) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader.uploadReport(ReportUploader.java:116) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:194) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.onRun(ReportUploader.java:149) 
        at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) 
        at java.lang.Thread.run(Thread.java:919) 
E/FirebaseCrashlytics: Error occurred sending report com.google.firebase.crashlytics.internal.report.model.SessionReport@8309e69
    java.lang.RuntimeException: java.io.InterruptedIOException: timeout
        at com.google.firebase.crashlytics.internal.report.network.DefaultCreateReportSpiCall.invoke(DefaultCreateReportSpiCall.java:100)
        at com.google.firebase.crashlytics.internal.report.network.CompositeCreateReportSpiCall.invoke(CompositeCreateReportSpiCall.java:34)
        at com.google.firebase.crashlytics.internal.report.ReportUploader.uploadReport(ReportUploader.java:116)
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:194)
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.onRun(ReportUploader.java:149)
        at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.io.InterruptedIOException: timeout
        at okhttp3.internal.connection.Transmitter.timeoutExit(Transmitter.kt:105)
        at okhttp3.internal.connection.Transmitter.maybeReleaseConnection(Transmitter.kt:295)
        at okhttp3.internal.connection.Transmitter.noMoreExchanges(Transmitter.kt:259)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:202)
        at okhttp3.RealCall.execute(RealCall.kt:67)
        at com.google.firebase.crashlytics.internal.network.HttpRequest.execute(HttpRequest.java:129)
        at com.google.firebase.crashlytics.internal.report.network.DefaultCreateReportSpiCall.invoke(DefaultCreateReportSpiCall.java:90)
        at com.google.firebase.crashlytics.internal.report.network.CompositeCreateReportSpiCall.invoke(CompositeCreateReportSpiCall.java:34) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader.uploadReport(ReportUploader.java:116) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:194) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.onRun(ReportUploader.java:149) 
        at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) 
        at java.lang.Thread.run(Thread.java:919) 
     Caused by: java.io.IOException: Canceled
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:65)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:194)
        at okhttp3.RealCall.execute(RealCall.kt:67) 
        at com.google.firebase.crashlytics.internal.network.HttpRequest.execute(HttpRequest.java:129) 
        at com.google.firebase.crashlytics.internal.report.network.DefaultCreateReportSpiCall.invoke(DefaultCreateReportSpiCall.java:90) 
        at com.google.firebase.crashlytics.internal.report.network.CompositeCreateReportSpiCall.invoke(CompositeCreateReportSpiCall.java:34) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader.uploadReport(ReportUploader.java:116) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:194) 
        at com.google.firebase.crashlytics.internal.report.ReportUploader$Worker.onRun(ReportUploader.java:149) 
        at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) 
        at java.lang.Thread.run(Thread.java:919) 

感谢任何帮助。

【问题讨论】:

  • 我也有同样的问题。 crashlytics 有问题吗?
  • 就在今天。奇怪的是,一些崩溃已成功上传(我认为这可能发生在..1-2 小时前的崩溃?)但我看不到最近发送的休息。更有趣的是,我在 .logcat 中看到了有关“成功上传日志”的信息,但我在 firebase 控制台中看不到它们
  • 更准确地说,有时我会超时,有时我会看到以下日志: Initializing Crashlytics 17.1.0 Crashlytics Reports Endpoint upload complete: ,但我在控制台中看不到崩溃
  • 可能与这个正在进行的事件有关:status.firebase.google.com/incident/Crashlytics/20004
  • @RoshanaPitigala 可能是这样,但是当我更改我的 proguard 规则以保留 okhttp 和 gson 源文件时,我的错误消失了。所以有多种情况可能导致这个超级模糊的错误

标签: android firebase okhttp crashlytics crashlytics-android


【解决方案1】:

如 cmets 所示,该错误与此事件有关,https://status.firebase.google.com/incident/Crashlytics/20004,可以通过该链接进行跟踪。

【讨论】:

    【解决方案2】:

    问题现已解决。问题的根本原因未知。但正如Davidthis comment 中建议的那样,它可能与同一天发生的以下事件有关。

    但是,他们的日志并没有明确说明这两者是相关的。


    无论如何,我对未来读者的建议。如果您遇到此问题,请访问以下链接以检查 Crashlytics 本身的状态,因为这很可能是他们的问题之一。

    *更新状态可能需要一段时间。

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      相关资源
      最近更新 更多