koush / ion

Android Asynchronous Networking and Image Loading
Other
6.29k stars 1.03k forks source link

Android 8.1 ConnectionClosedException #888

Open JonathanRufino opened 5 years ago

JonathanRufino commented 5 years ago

I'm getting this exception on android 8.1.

Probably related to https://github.com/koush/AndroidAsync/issues/594, but since I'm using ion i need the fix for this repo. I tried forking AndroidAsync and fixing it, but I was unable to build ion by myself.

javax.net.ssl.SSLException: java.io.EOFException: Read error
    at com.android.org.conscrypt.SSLUtils.toSSLException(SSLUtils.java:295)
    at com.android.org.conscrypt.ConscryptEngine.convertException(ConscryptEngine.java:1093)
    at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:851)
    at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:678)
    at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:644)
    at com.koushikdutta.async.AsyncSSLSocketWrapper$5.onDataAvailable(AsyncSSLSocketWrapper.java:194)
    at com.koushikdutta.async.Util.emitAllData(Util.java:23)
    at com.koushikdutta.async.AsyncNetworkSocket.onReadable(AsyncNetworkSocket.java:152)
    at com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:821)
    at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:658)
    at com.koushikdutta.async.AsyncServer.access$800(AsyncServer.java:44)
    at com.koushikdutta.async.AsyncServer$14.run(AsyncServer.java:600)
Caused by: java.io.EOFException: Read error
    at com.android.org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)
    at com.android.org.conscrypt.SslWrapper.readDirectByteBuffer(SslWrapper.java:492)
    at com.android.org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1052)
    at com.android.org.conscrypt.ConscryptEngine.readPlaintextDataHeap(ConscryptEngine.java:1072)
    at com.android.org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1044)
    at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:805)
    ... 9 more
francescopedronomnys commented 5 years ago

+1 Me too, same problem on 8.1, same code is working on 7.0. For me Conscrypt Middleware is disabled with:

Ion.getDefault(getApplicationContext()).getConscryptMiddleware().enable(false);

Removing that line resolved the problem.

Library version set at 2.+

compile 'com.koushikdutta.ion:ion:2.+'