I found a fair amount of reading about this in the following links: http://android-developers.blogspot.com/2009/05/painless-threading.html <http://android-developers.blogspot.com/2009/05/painless-threading.html> http://stackoverflow.com/questions/704311/android-how-do-i-investigate-an-anr <http://stackoverflow.com/questions/704311/android-how-do-i-investigate-an-anr> http://developer.android.com/guide/appendix/faq/commontasks.html#threading
Thanks, Dan Barnett Xoise Solutions, Inc. (516) 469-9430 www.xoise.com On Wed, Sep 15, 2010 at 8:32 PM, Dan <baseballd...@gmail.com> wrote: > Hi all, > > I've got an application with an alarming number of users reporting > force closes. I've tested multiple devices numerous times and never > had this happen, so it's very difficult to test. Luckily, the new > stack trace reporting features seem to give me an idea, but I am not > familiar with "ANR keyDispatchingTimedOut" and Google doesn't seem to > be much help. I can debug when I see the error just fine, but I'm not > sure what information these stack traces are providing me. Is it just > saying where each thread "was" when the crash occurred? > > Any help would be greatly appreciated - not just by me, but by a lot > of my users! > > Dan > > > Example Trace: > > --------------------------------------------------------------------------------------------------------------------------- > > DALVIK THREADS: > "main" prio=5 tid=1 NATIVE > | group="main" sCount=1 dsCount=0 s=N obj=0x4001d8c0 self=0xccc8 > | sysTid=27792 nice=0 sched=0/0 cgrp=default handle=-1345017816 > | schedstat=( 184875489 298065182 95 ) > at java.net.InetAddress.getaddrinfo(Native Method) > at java.net.InetAddress.lookupHostByName(InetAddress.java:508) > at java.net.InetAddress.getAllByNameImpl(InetAddress.java:280) > at java.net.InetAddress.getByName(InetAddress.java:310) > at java.net.InetSocketAddress.<init>(InetSocketAddress.java:110) > at java.net.InetSocketAddress.<init>(InetSocketAddress.java:89) > at > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java: > 62) > at > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java: > 88) > at > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java: > 927) > at > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java: > 909) > at > > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java: > 1152) > at com.xoise.mancala.Mancala.checkUpdate(Mancala.java:186) > at com.xoise.mancala.Mancala.onCreate(Mancala.java:43) > at > android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: > 1047) > at > android.app.ActivityThread.performLaunchActivity(ActivityThread.java: > 2627) > at > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: > 2679) > at android.app.ActivityThread.access$2300(ActivityThread.java:125) > at android.app.ActivityThread$H.handleMessage(ActivityThread.java: > 2033) > at android.os.Handler.dispatchMessage(Handler.java:99) > at android.os.Looper.loop(Looper.java:123) > at android.app.ActivityThread.main(ActivityThread.java:4627) > at java.lang.reflect.Method.invokeNative(Native Method) > at java.lang.reflect.Method.invoke(Method.java:521) > at com.android.internal.os.ZygoteInit > $MethodAndArgsCaller.run(ZygoteInit.java:868) > at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) > at dalvik.system.NativeStart.main(Native Method) > > "SoundPool" prio=5 tid=8 NATIVE > | group="main" sCount=1 dsCount=0 s=N obj=0x44779df8 self=0x225b18 > | sysTid=27798 nice=0 sched=0/0 cgrp=default handle=1193848 > | schedstat=( 366211 18005371 4 ) > at dalvik.system.NativeStart.run(Native Method) > > "SoundPoolThread" prio=5 tid=7 NATIVE > | group="main" sCount=1 dsCount=0 s=N obj=0x44779720 self=0x225148 > | sysTid=27799 nice=0 sched=0/0 cgrp=default handle=1194040 > | schedstat=( 13824466 69000242 13 ) > at dalvik.system.NativeStart.run(Native Method) > > "Binder Thread #2" prio=5 tid=6 NATIVE > | group="main" sCount=1 dsCount=0 s=N obj=0x447696c0 self=0x11fd68 > | sysTid=27797 nice=0 sched=0/0 cgrp=default handle=1297576 > | schedstat=( 1434329 7904050 6 ) > at dalvik.system.NativeStart.run(Native Method) > > "Binder Thread #1" prio=5 tid=5 NATIVE > | group="main" sCount=1 dsCount=0 s=N obj=0x44764488 self=0x124880 > | sysTid=27796 nice=0 sched=0/0 cgrp=default handle=1198144 > | schedstat=( 3723144 5554199 5 ) > at dalvik.system.NativeStart.run(Native Method) > > "Compiler" daemon prio=5 tid=4 VMWAIT > | group="system" sCount=1 dsCount=0 s=N obj=0x447632a0 self=0x121930 > | sysTid=27795 nice=0 sched=0/0 cgrp=default handle=1174160 > | schedstat=( 1220703 9277344 4 ) > at dalvik.system.NativeStart.run(Native Method) > > "Signal Catcher" daemon prio=5 tid=3 RUNNABLE > | group="system" sCount=0 dsCount=0 s=N obj=0x447631e8 self=0x11ede0 > | sysTid=27794 nice=0 sched=0/0 cgrp=default handle=1208144 > | schedstat=( 6805420 6011962 4 ) > at dalvik.system.NativeStart.run(Native Method) > > "HeapWorker" daemon prio=5 tid=2 VMWAIT > | group="system" sCount=1 dsCount=0 s=N obj=0x431a7b90 self=0x11e950 > | sysTid=27793 nice=0 sched=0/0 cgrp=default handle=1203280 > | schedstat=( 16723632 11505128 11 ) > at dalvik.system.NativeStart.run(Native Method) > > > --------------------------------------------------------------------------------------------------------------------------- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en