square / okio

A modern I/O library for Android, Java, and Kotlin Multiplatform.
https://square.github.io/okio/
Apache License 2.0
8.76k stars 1.17k forks source link

java.net.SocketException: Software caused connection abort #1167

Open hamed-rv opened 1 year ago

hamed-rv commented 1 year ago

I got this crash on Firebase with this log and details:

Device: Samsung, Galaxy Tab A7 Lite Android 12 API 31

Fatal Exception: java.net.SocketException: Software caused connection abort
       at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
       at java.net.SocketInputStream.socketRead(SocketInputStream.java:118)
       at java.net.SocketInputStream.read(SocketInputStream.java:173)
       at java.net.SocketInputStream.read(SocketInputStream.java:143)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797)
       at okio.InputStreamSource.read(JvmOkio.kt:90)
       at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:129)
       at okio.RealBufferedSource.request(RealBufferedSource.kt:206)
       at okio.RealBufferedSource.require(RealBufferedSource.kt:199)
       at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:89)
       at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:618)
       at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:609)
       at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:98)
       at okhttp3.internal.concurrent.TaskRunner.runTask(TaskRunner.kt:116)
       at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:42)
       at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:65)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
       at java.lang.Thread.run(Thread.java:1012)
YevhenHoltsev commented 1 year ago

The same here. A Crashlytics says it's a fresh issue (for my project the dependency was upgraded 2.8.0 -> 3.2.0.

Update: the upgrade was for com.squareup.okio:okio:2.2.2 to com.squareup.okio:okio:3.2.0

sokolarab commented 1 year ago

@YevhenHoltsev which dependence you upgrade?

YevhenHoltsev commented 1 year ago

@sokolarab Hello, it was com.squareup.okio:okio. I put it wrong in my comment, an update was from 2.2.2 to 3.2.0.

After reverting back to 2.2.2 things are back to normal.

kbaljeet commented 1 year ago

I'm having this same issue but I'm not using "com.squareup.okio:okio" dependency- instead my app have "com.squareup.okhttp3:okhttp:4.9.0" and moshi com.squareup.moshi:moshi:1.12.0

ashutoshkumardev commented 1 year ago

I am also facing the same issue from last couple of weeks but not with com.squareup.okio:okio but instead using the below dependencies:-

implementation('com.squareup.retrofit2:retrofit:2.9.0') {
    exclude module: 'okhttp'
}
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation 'com.squareup.okhttp3:okhttp:4.2.1'
implementation 'com.squareup.okhttp3:logging-interceptor:4.2.1'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
bhumeshvr7github commented 1 year ago

I am also facing this issue on Redmi Y2 device

My gradle- implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0' implementation 'com.squareup.retrofit2:converter-scalars:2.7.2'

Fatal Exception: java.net.SocketException Software caused connection abort java.net.SocketInputStream.socketRead0 (SocketInputStream.java)

java.net.SocketInputStream.read (SocketInputStream.java:144) okio.InputStreamSource.read (JvmOkio.kt:94) okio.AsyncTimeout$source$1.read (AsyncTimeout.kt:125) okio.RealBufferedSource.read (RealBufferedSource.kt:189) okhttp3.internal.http1.Http1ExchangeCodec$AbstractSource.read (Http1ExchangeCodec.kt:331) okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read (Http1ExchangeCodec.kt:412) okhttp3.internal.connection.Exchange$ResponseBodySource.read (Exchange.kt:276) okio.RealBufferedSource.read (RealBufferedSource.kt:189) okio.RealBufferedSource.exhausted (RealBufferedSource.kt:197) okio.InflaterSource.refill (InflaterSource.kt:112) okio.InflaterSource.readOrInflate (InflaterSource.kt:76) okio.InflaterSource.read (InflaterSource.kt:49) okio.GzipSource.read (GzipSource.kt:69) okio.RealBufferedSource.read (RealBufferedSource.kt:189) okio.ForwardingSource.read (ForwardingSource.kt:29) retrofit2.OkHttpCall$ExceptionCatchingResponseBody$1.read (OkHttpCall.java:314) okio.Buffer.writeAll (Buffer.kt:1290) okio.RealBufferedSource.readString (RealBufferedSource.kt:95) okhttp3.ResponseBody.string (ResponseBody.kt:187) retrofit2.converter.scalars.ScalarResponseBodyConverters$StringResponseBodyConverter.convert (ScalarResponseBodyConverters.java:30) retrofit2.converter.scalars.ScalarResponseBodyConverters$StringResponseBodyConverter.convert (ScalarResponseBodyConverters.java:26) retrofit2.OkHttpCall.parseResponse (OkHttpCall.java:243) retrofit2.OkHttpCall$1.onResponse (OkHttpCall.java:153) okhttp3.internal.connection.RealCall$AsyncCall.run (RealCall.kt:519) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)

java.lang.Thread.run (Thread.java:764)

Danny2790 commented 1 year ago

I am also facing the issues on Pixel 5 OS 13, Galaxy S20 5G OS 13.

Please help me if any solution on this.

Non-fatal Exception: java.net.SocketException: Software caused connection abort at java.net.SocketInputStream.socketRead0(SocketInputStream.java) at java.net.SocketInputStream.socketRead(SocketInputStream.java:118) at java.net.SocketInputStream.read(SocketInputStream.java:173) at java.net.SocketInputStream.read(SocketInputStream.java:143) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797) at okio.InputStreamSource.read(JvmOkio.kt:94) at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:128) at okio.RealBufferedSource.request(RealBufferedSource.kt:206) at okio.RealBufferedSource.require(RealBufferedSource.kt) at okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.kt:381) at okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.kt:431) at okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.kt:410) at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:281) at okio.RealBufferedSource.read(RealBufferedSource.kt:189) at okio.ForwardingSource.read(ForwardingSource.kt:27) at retrofit2.OkHttpCall$ExceptionCatchingResponseBody$1.read(OkHttpCall.java) at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:158) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:291) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:355) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:181) at java.io.InputStreamReader.read(InputStreamReader.java:180) at okhttp3.ResponseBody$BomAwareReader.read(ResponseBody.kt:211) at com.google.gson.stream.JsonReader.fillBuffer(JsonReader.java:1300) at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1338) at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:548) at com.google.gson.stream.JsonReader.peek(JsonReader.java:435) at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:41) at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:243) at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:153) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:520) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) at java.lang.Thread.run(Thread.java:1012)

AkshShah1 commented 11 months ago

I am also facing a similar issue in Galaxy S22 Ultra, Android 13 Please can anyone help me on this

Fatal Exception: java.net.SocketException: Software caused connection abort at java.net.SocketInputStream.socketRead0(SocketInputStream.java) at java.net.SocketInputStream.socketRead(SocketInputStream.java:118) at java.net.SocketInputStream.read(SocketInputStream.java:173) at java.net.SocketInputStream.read(SocketInputStream.java:143) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:983) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:947) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:862) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:835) at okio.InputStreamSource.read(JvmOkio.kt:94) at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:125) at okio.RealBufferedSource.request(RealBufferedSource.kt:206) at okio.RealBufferedSource.require(RealBufferedSource.kt:199) at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:89) at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:618) at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:609) at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:98) at okhttp3.internal.concurrent.TaskRunner.runTask(TaskRunner.kt:116) at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:42) at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:65) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

git-kishan commented 1 month ago

I am also facing the issues on Pixel 5 OS 13, Galaxy S20 5G OS 13.

Please help me if any solution on this.

Non-fatal Exception: java.net.SocketException: Software caused connection abort at java.net.SocketInputStream.socketRead0(SocketInputStream.java) at java.net.SocketInputStream.socketRead(SocketInputStream.java:118) at java.net.SocketInputStream.read(SocketInputStream.java:173) at java.net.SocketInputStream.read(SocketInputStream.java:143) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:824) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:797) at okio.InputStreamSource.read(JvmOkio.kt:94) at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:128) at okio.RealBufferedSource.request(RealBufferedSource.kt:206) at okio.RealBufferedSource.require(RealBufferedSource.kt) at okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.kt:381) at okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.kt:431) at okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.kt:410) at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:281) at okio.RealBufferedSource.read(RealBufferedSource.kt:189) at okio.ForwardingSource.read(ForwardingSource.kt:27) at retrofit2.OkHttpCall$ExceptionCatchingResponseBody$1.read(OkHttpCall.java) at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:158) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:291) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:355) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:181) at java.io.InputStreamReader.read(InputStreamReader.java:180) at okhttp3.ResponseBody$BomAwareReader.read(ResponseBody.kt:211) at com.google.gson.stream.JsonReader.fillBuffer(JsonReader.java:1300) at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1338) at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:548) at com.google.gson.stream.JsonReader.peek(JsonReader.java:435) at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:41) at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:243) at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:153) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:520) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) at java.lang.Thread.run(Thread.java:1012)

@AkshShah1 did you found the solution for this ? I am facing same issue in huge numbers