okdownload icon indicating copy to clipboard operation
okdownload copied to clipboard

java.io.IOException: The current offset on block-info isn't update correct, x!= -1 on 0

Open Carlos2927 opened this issue 5 years ago • 16 comments

1.0.6版本下载报错 java.io.IOException: The current offset on block-info isn't update correct, 609015 != -1 on 0 下载链接:http://www.fyuniot.com:1885/Tools/Down.ashx?Code=93d698e8-674f-4324-8707-9282e8e07802 这个问题之前不是解决了吗 实际上出现这个问题时是下载成功的 我暂时强制做下载成功处理 图片

Carlos2927 avatar Nov 27 '19 03:11 Carlos2927

我会用你给的链接进行尝试。

rantianhua avatar Dec 07 '19 01:12 rantianhua

我也遇到了,主要这个问题有时候会导致我的任务不回调taskend。。。这才尴尬,不然我还可以重试 #348

DaveBoy avatar Dec 10 '19 08:12 DaveBoy

同样的问题,但是经过测试,当 compileSdkVersion 和 targetSdkVersion 为29时才会出现这个问题,如果小于29就没有问题。

equationl avatar Feb 03 '20 07:02 equationl

我也遇到了同样的问题 在 targetSdkVersion = 29时(我测试了 compileSdkVersion 29 不会有问题), 下载链接是:http://videostream.iqiyi.com/playback/v/1f252523498440959e0795c29ce7788c 和 http://videostream.iqiyi.com/playback/v/e1d8cd9c247541be87b1b42bb484e572

如果把targetSdkVersion设置成28 就不会报错了,用master的build 和 1.0.8-SNAPSHOT 依然没有解决

zyallday avatar Feb 14 '20 02:02 zyallday

我也遇到了,app刚适配过Android10, 想引入这个下载库,就遇到这个问题了,而且是必现的,目前fork了来使用

HolenZhou avatar Apr 26 '20 02:04 HolenZhou

更具体原因是因为MultiPointOutputStream中的flushProcess中的size和outputStreamMap的size没有对应,导致下标越界了,你把IOException改为Exception可已捕获这个异常,同时由于是在独立的线程池中进行的,所以异常没有继续向外抛。 @rantianhua 大佬麻烦给看看,1.0.6版本,Android 10 分段下载必现

zhouzhuyuan avatar Jun 01 '20 04:06 zhouzhuyuan

问题解决了,Android 10 修改了SparseArray,在Android 9 和之前的版本,传入的下标越界不做处理,现在会抛异常了!!!!!

zhouzhuyuan avatar Jun 01 '20 06:06 zhouzhuyuan

@rantianhua 几个月了没看到任何提交了 大佬这个库现在没人维护了吗

Carlos2927 avatar Jun 09 '20 09:06 Carlos2927

是啊,好久没有维护了

HolenZhou avatar Jun 16 '20 03:06 HolenZhou

问题解决了,Android 10 修改了SparseArray,在Android 9 和之前的版本,传入的下标越界不做处理,现在会抛异常了!!!!!

请问是如何解决的呢,可以贴下代码吗

HolenZhou avatar Jun 16 '20 03:06 HolenZhou

image 应该确实是这里的问题,查看Android29源码的SparseArray在越界时会抛出异常,而28源码的SparseArray在越界时会直接返回0。

在outputStreamMap进行remove时也同时对noSyncLengthMap进行remove,就不会再出现改错误了: image

HolenZhou avatar Jun 16 '20 06:06 HolenZhou

image 应该确实是这里的问题,查看Android29源码的SparseArray在越界时会抛出异常,而28源码的SparseArray在越界时会直接返回0。

在outputStreamMap进行remove时也同时对noSyncLengthMap进行remove,就不会再出现改错误了: image 我的也是Android9.0然后出现这个数据越界,版本是1.0.7的 请问你们解决问题了?

Zhuangyongbing avatar Jul 14 '20 12:07 Zhuangyongbing

1.0.7 Android10下载必现

liushenming1994 avatar Aug 10 '20 06:08 liushenming1994

This is still happening on 1.0.7. The current offset on block-info isn't update correct, 932763 != 4998011 on 0

mradzinski avatar Aug 25 '20 03:08 mradzinski

Confirmed with @mradzinski that still happening on 1.0.7 :(

vuhomobytelab avatar Oct 12 '20 04:10 vuhomobytelab

Confirmed with @mradzinski that still happening on 1.0.7 :(

Same me. I have used :setConnectionCount(1). Current not see message before.

buivanlan avatar Oct 18 '20 08:10 buivanlan