Horrifically slow internet can cause crash "avax.net.ssl.SSLException: Read error: ssl=0x708cd007c8: I/O error during system call, Connection reset by peer" #2912
How to Reproduce
Run StreetComplete on connection that kind of works but horrifically slow (uploading answers barely works, downloading basically no - small areas can be sometimes downloaded in Vespucci but not often, opening webpages is unfeasible)
Versions affected
Unmodified v32
It seems to me that basically nothing can be done here? Just wrap it and treat as a variant of timeout rather than ask user to submit an email? (I submitted it to myself)
de.westnordost.osmapi.common.errors.OsmConnectionException:
javax.net.ssl.SSLException: Read error: ssl=0x708cd007c8: I/O error during
system call, Connection reset by peer
at de.westnordost.osmapi.OsmConnection.makeRequest(OsmConnection.java:202)
at de.westnordost.osmapi.OsmConnection.makeRequest(OsmConnection.java:148)
at de.westnordost.osmapi.user.UserApi.get(UserApi.java:44)
at
de.westnordost.streetcomplete.data.osmnotes.AvatarsDownloader.download(AvatarsDownloader.kt:27)
at
de.westnordost.streetcomplete.data.osmnotes.AvatarsInNotesUpdater.onUpdated(AvatarsInNotesUpdater.kt:12)
at
de.westnordost.streetcomplete.data.osmnotes.NoteController.onUpdated(NoteController.kt:107)
at
de.westnordost.streetcomplete.data.osmnotes.NoteController.putAllForBBox(NoteController.kt:51)
at
de.westnordost.streetcomplete.data.osmnotes.NotesDownloader$download$2.invokeSuspend(NotesDownloader.kt:32)
at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at
kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: javax.net.ssl.SSLException: Read error: ssl=0x708cd007c8: I/O
error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
at com.android.org.conscrypt.NativeSsl.read(NativeSsl.java:411)
at
com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:549)
at com.android.okhttp.okio.Okio$2.read(Okio.java:138)
at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213)
at
com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307)
at
com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301)
at
com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197)
at
com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188)
at
com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129)
at
com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750)
at
com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
at
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475)
at
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
at
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
at
com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
at
com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
at
de.westnordost.osmapi.OsmConnection.handleResponseCode(OsmConnection.java:341)
at de.westnordost.osmapi.OsmConnection.makeRequest(OsmConnection.java:195)
... 13 more
How to Reproduce Run StreetComplete on connection that kind of works but horrifically slow (uploading answers barely works, downloading basically no - small areas can be sometimes downloaded in Vespucci but not often, opening webpages is unfeasible)
Versions affected Unmodified v32
It seems to me that basically nothing can be done here? Just wrap it and treat as a variant of timeout rather than ask user to submit an email? (I submitted it to myself)