Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IllegalStateException:has already accomplished all his job, but there still are some messages in parcel queue[1] #562

Closed
fatbush opened this issue May 13, 2017 · 6 comments
Milestone

Comments

@fatbush
Copy link

fatbush commented May 13, 2017

最近我的工程使用了这个控件,遇到这个报错。我是怎么样都重现不了,而且报错的频率很低,但是会导致APP崩溃!

想问问大家有遇到过吗?
请问是怎么导致这个报错出现的,我应该怎么避免?

报错日志:
default

代码位置:
_20170513100807

@Jacksgong
Copy link
Collaborator

可否开启Debug日志(FileDownloadLog.NEED_LOG = true),然后复现以后贴下这个异常前后尽量多的日志给我。我来看下这个问题.

@fatbush
Copy link
Author

fatbush commented May 23, 2017

@Jacksgong 终于找到重现的办法了!逻辑如下:软件一启动,然后就收到连续10条的XMPP消息,收到消息后,就同时启动下载的逻辑了!接着就有可能报错了!下载逻辑是这样子的,使用的是方法二启动下载,在下载前,我会运行pause。

@fatbush fatbush closed this as completed May 23, 2017
@fatbush
Copy link
Author

fatbush commented May 23, 2017

附上代码和报错的日志

下载逻辑代码:

下载逻辑.txt

报错日志:

下载引擎报错日志0.txt

@Jacksgong
Copy link
Collaborator

Jacksgong commented May 25, 2017

根据日志我没有找到原因,根据你的描述与代码,我在Demo的混合测试的多任务串行下载中尝试编写了复现代码(在开始多任务串行前暂停相同listener的所有任务,然后再利用该listener启动串行任务),但是并没有复现。

  • 可否看看diff检查下是不是还没有符合你的复现路径?
  • fork以后,切换到test/reproduce-562分支,看看哪里不符合你的场景,调整后,再进入Demo的"混合测试"的"多任务队列串行下载",然后看看让其复现该问题。

如果是极低概率事件(我今晚测了很久了还是复现不了),你能够通过demo复现别忘了贴下日志哈,我已经增加了一些必要的日志信息。

多谢。

@fatbush
Copy link
Author

fatbush commented May 26, 2017

@Jacksgong
我以前试过使用Demo,连续调用start()十几次是不会有问题的!
可是我现实场景是服务器响应的时候,启动的下载动作,我的响应的处理是线程来的!换句话说,就是有10几个这样的线程来同时调用这个start()函数!所以我们要弄几个线程来一起调用!
不过说来也奇怪,我试过重复顺序地调用我的接口请求服务器10次,也是疯狂地接到服务器的响应,疯狂地启动下载,也没有碰到这个报错!只有xmpp的方法~

@Jacksgong
Copy link
Collaborator

@fatbush 有新的进展随时同步。

FileDownloader本身就是支持多线程调用start的,内部做了很多高并发相关的处理,本身内部就可能是多个线程对各类任务数据进行处理的。

@Jacksgong Jacksgong added this to the 1.6.8 milestone Oct 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants