Crashlytics is failing to report fatal/non-fatal crashes due to a connection timeout issue.
This is my app-level build 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'
Now the crashes are not being logged, and each time I open the app I'm getting this,
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)
Any help is appreciated.
The issue is now fixed. The root cause for the issue was unknown. But as David suggested in this comment it may be linked to the following incident which occurred on the same day.
However, their logs did not specifically say that those two were related.
Anyway, my advice for future readers. If you have encountered this issue, visit below link to check the status of the Crashlytics
itself, because there's a good chance that it may be one of their issues.
*It may take a while for the status to get updated.