danikula / AndroidVideoCache

Cache support for any video player with help of single line
Apache License 2.0
5.42k stars 1.15k forks source link

Exception at com.android.okio.Util.checkOffsetAndCount (Util.java:29) #50

Closed gouravd closed 8 years ago

gouravd commented 8 years ago

Got this from a user

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException
com.android.okio.Util.checkOffsetAndCount (Util.java:29)
com.android.okhttp.internal.http.HttpURLConnectionImpl.disconnect (HttpURLConnectionImpl.java:113)
com.danikula.videocache.HttpUrlSource.close (HttpUrlSource.java:80)
com.danikula.videocache.ProxyCache.closeSource (ProxyCache.java:160)
com.danikula.videocache.ProxyCache.readSource (ProxyCache.java:141)
com.danikula.videocache.ProxyCache.access$100 (ProxyCache.java:19)
com.danikula.videocache.ProxyCache$SourceReaderRunnable.run (ProxyCache.java:179)
java.lang.Thread.run (Thread.java:818)
molikto commented 8 years ago

seem here. Is this possible to rewrite use okHttp from square?

brittonjg commented 8 years ago

I'm seeing this a lot as well. It seems to be related to Android 5 according to Crashlytics.

gouravd commented 8 years ago

Yes mostly on Android 5.0.1

CAMOBAP commented 8 years ago

Looks like related to https://github.com/square/okhttp/issues/658

CAMOBAP commented 8 years ago

@danikula could you please review?

KushGoyal commented 8 years ago

This error is coming on android 5 devices. stacktrace from my application:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException
       at com.android.okio.Util.checkOffsetAndCount(Util.java:29)
       at com.android.okio.Okio.copy(Okio.java:39)
       at com.android.okhttp.internal.http.HttpConnection$AbstractSource.cacheWrite(HttpConnection.java:378)
       at com.android.okhttp.internal.http.HttpConnection$FixedLengthSource.read(HttpConnection.java:449)
       at com.android.okhttp.internal.Util.skipAll(Util.java:227)
       at com.android.okhttp.internal.http.HttpConnection.discard(HttpConnection.java:212)
       at com.android.okhttp.internal.http.HttpConnection$FixedLengthSource.close(HttpConnection.java:464)
       at com.android.okhttp.internal.Util.closeQuietly(Util.java:97)
       at com.android.okhttp.internal.http.HttpEngine.close(HttpEngine.java:434)
       at com.android.okhttp.internal.http.HttpURLConnectionImpl.disconnect(HttpURLConnectionImpl.java:113)
       at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.disconnect(DelegatingHttpsURLConnection.java:93)
       at com.android.okhttp.internal.http.HttpsURLConnectionImpl.disconnect(HttpsURLConnectionImpl.java:25)
       at com.facebook.ads.internal.g.b.h.b(h.java)
       at com.facebook.ads.internal.g.b.k.h(k.java)
       at com.facebook.ads.internal.g.b.k.e(k.java)
       at com.facebook.ads.internal.g.b.k.a(k.java)
       at com.facebook.ads.internal.g.b.k$a.run(k.java)
       at java.lang.Thread.run(Thread.java:818)
rjain90 commented 8 years ago

I'm getting this error a lot as well. @danikula could you review @CAMOBAP795's solution.

metalurgus commented 8 years ago

Fix by @CAMOBAP795 was provided 4 month ago, no reaction from the owner?

metalurgus commented 8 years ago

ok, I've forked @CAMOBAP795 's fix, and created a release, so now you can use it from jitpack.io

danikula commented 8 years ago

Real problem is described here. @CAMOBAP795 solution works, but it hides the real problem. Version 2.5.0 resolves the problem.