Tobi823 / ffupdater

FFUpdater: Updater for privacy friendly browser
https://f-droid.org/en/packages/de.marmaro.krt.ffupdater
GNU General Public License v3.0
647 stars 32 forks source link

Crash during background update #550

Closed NobodyForNothing closed 8 months ago

NobodyForNothing commented 9 months ago

Describe the bug Error/Crash during background update.

To Reproduce Please insert the steps to reproduce the behavior here:

  1. open app
  2. wait for background download to finish
  3. see notification with error

Error message from FFUpdater Stacktrace:

de.marmaro.krt.ffupdater.network.exceptions.NetworkException: Download of https://github.com/mozilla-mobile/firefox-android/releases/download/fenix-v120.1.0/fenix-120.1.0-arm64-v8a.apk failed.
    at de.marmaro.krt.ffupdater.network.file.FileDownloader$downloadFile$deferred$1.invokeSuspend(FileDownloader.kt:72)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.net.SocketTimeoutException: timeout
    at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.kt:675)
    at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.kt:684)
    at okhttp3.internal.http2.Http2Stream$FramingSource.read(Http2Stream.kt:379)
    at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:281)
    at okio.RealBufferedSource.read(RealBufferedSource.kt:39)
    at okio.ForwardingSource.read(ForwardingSource.kt:27)
    at de.marmaro.krt.ffupdater.network.file.ProgressInterceptorResponseBody$trackTransmittedBytes$1.read(ProgressInterceptorResponseBody.kt:42)
    at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:158)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:347)
    at java.io.FilterInputStream.read(FilterInputStream.java:107)
    at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:110)
    at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader.downloadFile(FileDownloader.kt:164)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader.access$downloadFile(FileDownloader.kt:42)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader$downloadFile$2.invokeSuspend(FileDownloader.kt:0)
    ... 8 more

Logs:

de.marmaro.krt.ffupdater.network.exceptions.NetworkException: Download of https://github.com/mozilla-mobile/firefox-android/releases/download/fenix-v120.1.0/fenix-120.1.0-arm64-v8a.apk failed.
    at de.marmaro.krt.ffupdater.network.file.FileDownloader$downloadFile$deferred$1.invokeSuspend(FileDownloader.kt:72)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.net.SocketTimeoutException: timeout
    at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.kt:675)
    at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.kt:684)
    at okhttp3.internal.http2.Http2Stream$FramingSource.read(Http2Stream.kt:379)
    at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:281)
    at okio.RealBufferedSource.read(RealBufferedSource.kt:39)
    at okio.ForwardingSource.read(ForwardingSource.kt:27)
    at de.marmaro.krt.ffupdater.network.file.ProgressInterceptorResponseBody$trackTransmittedBytes$1.read(ProgressInterceptorResponseBody.kt:42)
    at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:158)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:347)
    at java.io.FilterInputStream.read(FilterInputStream.java:107)
    at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:110)
    at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader.downloadFile(FileDownloader.kt:164)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader.access$downloadFile(FileDownloader.kt:42)
    at de.marmaro.krt.ffupdater.network.file.FileDownloader$downloadFile$2.invokeSuspend(FileDownloader.kt:0)
    ... 8 more
Device information: Key Value
FFUpdater version 79.0.1 (167) release F-Droid/other
Device MI 9 (cepheus_eea, cepheus, cepheus)
Manufacturer Xiaomi (Xiaomi)
Supported ABIs arm64-v8a, armeabi-v7a, armeabi
Android version 10 (SDK: 29)
OS c4-miui-ota-bd072.bj, builder, release-keys, 1618330515000
Tobi823 commented 8 months ago

Looks like a temporary network problem. These are hard to detect and avoid. Luckily they are rare.