开发者

Sprint locking up my app? (ANR from com.carrieriq.iqagent.client)

Context: I have an app is already released into the market for over a year, and the last update was three months ago. Never had problem with ANR errors. The app is fairly stable, 100,000+ active installs.

Recently, I have been getting ANR keyDispatchingTimedOut reports (about 30 of them) from various places in my app, and all of them has to do with com.carrieriq.iqagent.client.

For example, DALVIK THREADS:

"main" prio=5 tid=1 MONITOR
  | group="main" sCount=1 dsCount=0 s=N obj=0x40020a30 self=0xcd88
  | sysTid=19807 nice=0 sched=0/0 cgrp=default handle=-1345026000
  at com.carrieriq.iqagent.client.NativeClient.acquire(NativeClient.java:~35)
  - waiting to lock  (a java.lang.Object) held by threadid=2 (HeapWorker)
  at com.carrieriq.iqagent.client.IQClient.(IQClient.java:115)
  at com.carrieriq.iqagent.client.IQClient.(IQClient.java:105)
  at android.app.AlertDialog$Builder.create(AlertDialog.java:826)
  at android.app.AlertDialog$Builder.show(AlertDialog.java:864)
  at com.myapp.button.pushed$SomeRunnable.run(SomeRunnable.java:299)

--The SomeRunnable.java line 299 is just adialog.show();

The only other thread in the report is:

"HeapWorker" daemon prio=5 tid=2 NATIVE
  | group="system" sCount=1 dsCount=0 s=N obj=0x43b55c98 self=0x11eba8
  | sysTid=19808 nice=0 sched=0/0 cgrp=default handle=1174376
  at com.carrieriq.iqagent.client.NativeClient.clientShutdown(Native Method)
  at com.carrieriq.iqagent.client.NativeClient.release(NativeClient.java:81)
  at com.carrieriq.iqagent.client.IQClient.disconnect(IQClient.java:341)
  at com.carrieriq.iqagent.client.IQClient.finalize(IQClient.java:354)
  at dalvik.system.NativeStart.run(Native Method)

I googled online and saw that people claim to have battery issues with it: http://forums.androidcentral.com/sprint-optimus-s/45729-ever-wondered-what-iqagent.html

So the question is, I am not sure what I should do with this (check that the package exists and warn the user maybe?) or is开发者_如何学JAVA it really the reason?

This package shows up in all the ANR traces that I get. (So only sprint users have been having this problem)


This seems like a legitimate race condition in the IQclient. The interesting part though is that the HeapWorker thread is shuttig down, at a time when your thread is trying to process the button press. If you can figure out why that thread is being shut down, you might find a solution. Sadly, that might be hard without a repro.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜