So this is the app that is getting the ANR, looks like MMS?  It is certainly
busy doing stuff, but it is very hard to tell why this is taking so long on
your device.  Again, I don't know anything about what you are running on; if
you haven't changed the upper-level framework or apps (which generally don't
have ANR problems), then my first suspicion would be something about the
hardware, the drivers, the porting code, or possibly just some threads
somewhere running in the background chewing CPU (use top to look for that
one).

So basically: we don't have a serious problem with ANRs on the G1 hardware.
You seem to be having ANRs.  What is different about your environment or how
you are running the system?

On Wed, May 20, 2009 at 11:38 PM, Anonymous Anonymous <
firewallbr...@googlemail.com> wrote:

> Thanks Dianne
>
> The below info will give some clue?
>
> --------------------------------------------------------------------------
> DALVIK THREADS:
> "main" prio=5 tid=3 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x40018e50
>   | sysTid=1169 nice=0 sched=0/0 handle=-1097413476
>   at android.os.BinderProxy.transact(Native Method)
>   at
> android.content.ContentProviderProxy.bulkQuery(ContentProviderNative.java:277)
>   at
> android.content.ContentProviderProxy.query(ContentProviderNative.java:298)
>   at android.content.ContentResolver.query(ContentResolver.java:149)
>   at com.google.android.mms.util.SqliteWrapper.query(SqliteWrapper.java:71)
>   at com.android.mms.ui.UriImage.initFromContentUri(UriImage.java:93)
>   at com.android.mms.ui.UriImage.<init>(UriImage.java:62)
>   at
> com.android.mms.model.ImageModel.decodeImageBounds(ImageModel.java:103)
>   at com.android.mms.model.ImageModel.<init>(ImageModel.java:71)
>   at
> com.android.mms.model.MediaModelFactory.getGenericMediaModel(MediaModelFactory.java:160)
>   at
> com.android.mms.model.MediaModelFactory.getRegionMediaModel(MediaModelFactory.java:88)
>   at
> com.android.mms.model.MediaModelFactory.getMediaModel(MediaModelFactory.java:49)
>   at
> com.android.mms.model.SlideshowModel.createFromPduBody(SlideshowModel.java:177)
>   at com.android.mms.ui.MessageItem.<init>(MessageItem.java:146)
>   at
> com.android.mms.ui.MessageListAdapter.getCachedMessageItem(MessageListAdapter.java:179)
>   at
> com.android.mms.ui.MessageListAdapter.bindView(MessageListAdapter.java:135)
>   at android.widget.CursorAdapter.getView(CursorAdapter.java:186)
>   at android.widget.AbsListView.obtainView(AbsListView.java:1251)
>   at android.widget.ListView.makeAndAddView(ListView.java:1623)
>   at android.widget.ListView.fillUp(ListView.java:637)
>   at android.widget.ListView.layoutChildren(ListView.java:1462)
>   at android.widget.AbsListView.onLayout(AbsListView.java:1113)
>   at android.view.View.layout(View.java:6150)
>   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
>   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
>   at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
>   at android.view.View.layout(View.java:6150)
>   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
>   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
>   at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
>   at android.view.View.layout(View.java:6150)
>   at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
>   at android.view.View.layout(View.java:6150)
>   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
>   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
>   at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
>   at android.view.View.layout(View.java:6150)
>   at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
>   at android.view.View.layout(View.java:6150)
>   at android.view.ViewRoot.performTraversals(ViewRoot.java:929)
>   at android.view.ViewRoot.handleMessage(ViewRoot.java:1482)
>   at android.os.Handler.dispatchMessage(Handler.java:99)
>   at android.os.Looper.loop(Looper.java:123)
>   at android.app.ActivityThread.main(ActivityThread.java:3948)
>   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:782)
>   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
>   at dalvik.system.NativeStart.main(Native Method)
>
> "refqueuewor...@org.apache.http.impl.conn.tsccm.connpoolbyroute@4376ce50"
> daemon prio=5 tid=31 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4378c4d0
>   | sysTid=1666 nice=0 sched=0/0 handle=2098432
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x1db640> (a java.lang.ref.ReferenceQueue)
>   at java.lang.Object.wait(Object.java:326)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:85)
>   at
> org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Thread-53" prio=5 tid=51 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43789f70
>   | sysTid=1655 nice=0 sched=0/0 handle=1682512
>   at android.os.BinderProxy.transact(Native Method)
>   at
> android.content.ContentProviderProxy.bulkQuery(ContentProviderNative.java:277)
>   at
> android.content.ContentProviderProxy.query(ContentProviderNative.java:298)
>   at android.content.ContentResolver.query(ContentResolver.java:149)
>   at com.google.android.mms.util.SqliteWrapper.query(SqliteWrapper.java:71)
>   at
> com.android.mms.transaction.MessagingNotification.getMmsNewMessageNotificationInfo(MessagingNotification.java:229)
>   at
> com.android.mms.transaction.MessagingNotification.updateNewMessageIndicator(MessagingNotification.java:135)
>   at
> com.android.mms.transaction.TransactionService.update(TransactionService.java:399)
>   at
> com.android.mms.transaction.Observable.notifyObservers(Observable.java:72)
>   at
> com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:164)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Thread-51" prio=5 tid=47 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4382c148
>   | sysTid=1653 nice=0 sched=0/0 handle=1943288
>   at android.os.BinderProxy.transact(Native Method)
>   at
> android.content.ContentProviderProxy.insert(ContentProviderNative.java:338)
>   at android.content.ContentResolver.insert(ContentResolver.java:476)
>   at
> com.google.android.mms.util.SqliteWrapper.insert(SqliteWrapper.java:113)
>   at
> com.google.android.mms.pdu.PduPersister.persistPart(PduPersister.java:689)
>   at
> com.google.android.mms.pdu.PduPersister.persist(PduPersister.java:1102)
>   at
> com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:138)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "refqueuewor...@org.apache.http.impl.conn.tsccm.connpoolbyroute@438605a8"
> daemon prio=5 tid=41 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43860b10
>   | sysTid=1645 nice=0 sched=0/0 handle=2374288
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x1b3230> (a java.lang.ref.ReferenceQueue)
>   at java.lang.Object.wait(Object.java:326)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:85)
>   at
> org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Binder Thread #4" prio=5 tid=39 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4382ecf8
>   | sysTid=1644 nice=0 sched=0/0 handle=2093648
>   at dalvik.system.NativeStart.run(Native Method)
>
> "Thread-45" prio=5 tid=37 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4385b430
>   | sysTid=1643 nice=0 sched=0/0 handle=1829808
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.receiveStreamImpl(Native
> Method)
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.receiveStream(OSNetworkSystem.java:236)
>   at
> org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:550)
>   at
> org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:87)
>   at
> org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
>   at
> org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:134)
>   at
> org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:174)
>   at
> org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159)
>   at java.io.DataInputStream.readFully(DataInputStream.java:263)
>   at java.io.DataInputStream.readFully(DataInputStream.java:208)
>   at
> com.android.mms.transaction.HttpUtils.httpConnection(HttpUtils.java:182)
>   at com.android.mms.transaction.Transaction.getPdu(Transaction.java:163)
>   at
> com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:120)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Thread-40" prio=5 tid=29 NATIVE
>   | group="main" sCount=1 dsCount=0 s=1 obj=0x4376a140
>   | sysTid=1638 nice=0 sched=0/0 handle=2245912
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native
> Method)
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:140)
>   at
> org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:229)
>   at
> org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:521)
>   at java.net.Socket.connect(Socket.java:1019)
>   at
> org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
>   at
> org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:129)
>   at
> org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
>   at
> org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
>   at
> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
>   at
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
>   at
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)
>   at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:293)
>   at
> com.android.mms.transaction.HttpUtils.httpConnection(HttpUtils.java:162)
>   at com.android.mms.transaction.Transaction.sendPdu(Transaction.java:121)
>   at
> com.android.mms.transaction.RetrieveTransaction.sendAcknowledgeInd(RetrieveTransaction.java:209)
>   at
> com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:155)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "refqueuewor...@org.apache.http.impl.conn.tsccm.connpoolbyroute@437d1560"
> daemon prio=5 tid=27 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43796df8
>   | sysTid=1637 nice=0 sched=0/0 handle=1763928
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x99ed0> (a java.lang.ref.ReferenceQueue)
>   at java.lang.Object.wait(Object.java:326)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:85)
>   at
> org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Thread-38" prio=5 tid=25 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43791fa8
>   | sysTid=1636 nice=0 sched=0/0 handle=2387360
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.receiveStreamImpl(Native
> Method)
>   at
> org.apache.harmony.luni.platform.OSNetworkSystem.receiveStream(OSNetworkSystem.java:236)
>   at
> org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:550)
>   at
> org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:87)
>   at
> org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
>   at
> org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:134)
>   at
> org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:174)
>   at
> org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159)
>   at java.io.DataInputStream.readFully(DataInputStream.java:263)
>   at java.io.DataInputStream.readFully(DataInputStream.java:208)
>   at
> com.android.mms.transaction.HttpUtils.httpConnection(HttpUtils.java:182)
>   at com.android.mms.transaction.Transaction.getPdu(Transaction.java:163)
>   at
> com.android.mms.transaction.RetrieveTransaction.run(RetrieveTransaction.java:120)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "Binder Thread #3" prio=5 tid=23 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4377c308
>   | sysTid=1390 nice=0 sched=0/0 handle=1776648
>   at dalvik.system.NativeStart.run(Native Method)
>
> "pool-1-thread-1" prio=5 tid=21 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x437a7fc8
>   | sysTid=1378 nice=0 sched=0/0 handle=1770152
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x99e60> (a java.lang.VMThread)
>   at java.lang.Thread.parkFor(Thread.java:1497)
>   at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
>   at sun.misc.Unsafe.park(Unsafe.java:319)
>   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:117)
>   at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1774)
>   at java.util.concurrent.DelayQueue.take(DelayQueue.java:120)
>   at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:503)
>   at
> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:496)
>    at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:465)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:672)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "AsyncQueryWorker" prio=5 tid=19 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x4376da30
>   | sysTid=1376 nice=0 sched=0/0 handle=1759136
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x1ad7e0> (a android.os.MessageQueue)
>   at java.lang.Object.wait(Object.java:288)
>   at android.os.MessageQueue.next(MessageQueue.java:148)
>   at android.os.Looper.loop(Looper.java:110)
>   at android.os.HandlerThread.run(HandlerThread.java:60)
>
> "AsyncTask #1" prio=5 tid=17 WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43794ef8
>   | sysTid=1317 nice=10 sched=0/0 handle=1318712
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x196b28> (a java.lang.VMThread)
>   at java.lang.Thread.parkFor(Thread.java:1497)
>   at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
>   at sun.misc.Unsafe.park(Unsafe.java:319)
>   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:117)
>   at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1774)
>   at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>   at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:465)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:672)
>   at java.lang.Thread.run(Thread.java:1058)
>
> "TransactionService" prio=5 tid=15 TIMED_WAIT
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x437944a0
>   | sysTid=1275 nice=0 sched=0/0 handle=1703768
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0x1a07c8> (a android.os.MessageQueue)
>   at java.lang.Object.wait(Object.java:326)
>   at android.os.MessageQueue.next(MessageQueue.java:144)
>   at android.os.Looper.loop(Looper.java:110)
>   at android.os.HandlerThread.run(HandlerThread.java:60)
>
> "Binder Thread #2" prio=5 tid=13 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43759f28
>   | sysTid=1175 nice=0 sched=0/0 handle=1312728
>   at dalvik.system.NativeStart.run(Native Method)
>
> "Binder Thread #1" prio=5 tid=11 NATIVE
>   | group="main" sCount=1 dsCount=0 s=0 obj=0x43755038
>   | sysTid=1174 nice=0 sched=0/0 handle=1317632
>   at dalvik.system.NativeStart.run(Native Method)
>
> "JDWP" daemon prio=5 tid=9 VMWAIT
>   | group="system" sCount=1 dsCount=0 s=0 obj=0x437542a0
>    | sysTid=1173 nice=0 sched=0/0 handle=1316824
>   at dalvik.system.NativeStart.run(Native Method)
>
> "Signal Catcher" daemon prio=5 tid=7 RUNNABLE
>   | group="system" sCount=0 dsCount=0 s=0 obj=0x437541e8
>    | sysTid=1172 nice=0 sched=0/0 handle=1316056
>   at dalvik.system.NativeStart.run(Native Method)
>
> "HeapWorker" daemon prio=5 tid=5 VMWAIT
>   | group="system" sCount=1 dsCount=0 s=0 obj=0x42997dd8
>   | sysTid=1171 nice=0 sched=0/0 handle=1313416
>   at dalvik.system.NativeStart.run(Native Method)
>
> ----- end 1169 ----
>
> ----------------------------------------------------------------------------------------------------
>
> On Thu, May 21, 2009 at 3:53 AM, Dianne Hackborn <hack...@android.com>wrote:
>
>> Is that for the app that actually ANRed?  You would expect that the main
>> thread would be busy doing something, not waiting.
>>
>> It is really hard to help you though because I don't know what you are
>> doing in the UI, what is app running, what hardware you are running on, or
>> anything else about what you are trying to do.
>>
>>
>> On Wed, May 20, 2009 at 6:07 AM, Anonymous Anonymous <
>> firewallbr...@googlemail.com> wrote:
>>
>>> or
>>>
>>> -----------------------------------------------------------------------------------------------------------------------------------------------------
>>> DALVIK THREADS:
>>> "main" prio=5 tid=3 WAIT
>>> | group="main" sCount=1 dsCount=0 s=0 obj=0x40018e50
>>> | sysTid=1210 nice=0 sched=0/0 handle=-1095230308
>>> at java.lang.Object.wait(Native Method)
>>> - waiting on <0x18ab68> (a android.os.MessageQueue)
>>> at java.lang.Object.wait(Object.java:288)
>>> at android.os.MessageQueue.next(MessageQueue.java:148)
>>> at android.os.Looper.loop(Looper.java:110)
>>> at android.app.ActivityThread.main(ActivityThread.java:3948)
>>> 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:782)
>>> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
>>> at dalvik.system.NativeStart.main(Native Method)
>>>
>>> "Binder Thread #3" prio=5 tid=15 NATIVE
>>> | group="main" sCount=1 dsCount=0 s=0 obj=0x4375aa50
>>> | sysTid=1216 nice=0 sched=0/0 handle=1506232
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> "Binder Thread #2" prio=5 tid=13 NATIVE
>>> | group="main" sCount=1 dsCount=0 s=0 obj=0x437567a0
>>> | sysTid=1215 nice=0 sched=0/0 handle=1487784
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> "Binder Thread #1" prio=5 tid=11 NATIVE
>>> | group="main" sCount=1 dsCount=0 s=0 obj=0x43754f90
>>> | sysTid=1214 nice=0 sched=0/0 handle=1487280
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> "JDWP" daemon prio=5 tid=9 VMWAIT
>>> | group="system" sCount=1 dsCount=0 s=0 obj=0x437542a0
>>> | sysTid=1213 nice=0 sched=0/0 handle=1484704
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> "Signal Catcher" daemon prio=5 tid=7 RUNNABLE
>>> | group="system" sCount=0 dsCount=0 s=0 obj=0x437541e8
>>> | sysTid=1212 nice=0 sched=0/0 handle=1316760
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> "HeapWorker" daemon prio=5 tid=5 VMWAIT
>>> | group="system" sCount=1 dsCount=0 s=0 obj=0x42998c30
>>> | sysTid=1211 nice=0 sched=0/0 handle=1317480
>>> at dalvik.system.NativeStart.run(Native Method)
>>>
>>> ----- end 1210 -----
>>>
>>> ----------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>>
>>> On Wed, May 20, 2009 at 6:27 PM, Anonymous Anonymous <
>>> firewallbr...@googlemail.com> wrote:
>>>
>>>> How to analyze an ANR log !! :(
>>>>
>>>> something liek this?
>>>>
>>>>
>>>> ---------------------------------------------------------------------------------------------------------------
>>>> "pool-2-thread-1" prio=5 tid=25 WAIT
>>>> | group="main" sCount=1 dsCount=0 s=0 obj=0x437d1ea0
>>>> | sysTid=1425 nice=0 sched=0/0 handle=2025912
>>>> at java.lang.Object.wait(Native Method)
>>>> - waiting on <0x1b4830> (a java.lang.VMThread)
>>>> at java.lang.Thread.parkFor(Thread.java:1497)
>>>> at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
>>>> at sun.misc.Unsafe.park(Unsafe.java:319)
>>>> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:117)
>>>> at
>>>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1774)
>>>> at java.util.concurrent.DelayQueue.take(DelayQueue.java:120)
>>>> at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:503)
>>>> at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:496)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:465
>>>>
>>>> ---------------------------------------------------------------------------------------------------------------------------------------------------
>>>>
>>>> thanks
>>>>
>>>>
>>>> On Thu, Mar 19, 2009 at 8:27 AM, Dianne Hackborn 
>>>> <hack...@android.com>wrote:
>>>>
>>>>> The dialog is shown when an application isn't responding to the system,
>>>>> so the user can kill it without having to wait.  It currently is shown in
>>>>> two main places: when the window manager waits to long on an event it has
>>>>> dispatched to an application, and when the activity manager waits too long
>>>>> on a serialized broadcast it has sent to an application (thus delaying any
>>>>> other recipients of the broadcast).
>>>>>
>>>>> On developer builds, you see the ANR dialog whenever either of these
>>>>> happens for any applications.  On release builds, the dialog is only shown
>>>>> when the current foreground application is causing the ANR; background
>>>>> applications that are not responding to broadcasts are simply killed 
>>>>> without
>>>>> the user being involved.
>>>>>
>>>>> The way you control this is by writing your code so it doesn't happen.
>>>>> :)
>>>>>
>>>>> On Wed, Mar 18, 2009 at 6:58 PM, Jag Dev <devj...@gmail.com> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> What is the logic behind ANR popups?
>>>>>>
>>>>>> For example,
>>>>>>
>>>>>> When playing a music and doing random key presses results in this
>>>>>> popup?
>>>>>>
>>>>>> The music app is trying to do something in the background? Even though
>>>>>> this popup is seen, the music app plays in the BG and hence if we select
>>>>>> "wait" then everything goes through fine. But this is kind off annoying 
>>>>>> or
>>>>>> giving a impression that something failed?
>>>>>>
>>>>>> Can you please let me know:
>>>>>>
>>>>>> 1. How do we control this popup and where is the control?
>>>>>> 2. What is the logic behind ANRs'?
>>>>>>
>>>>>> Thanks for your time and help.
>>>>>> Dev
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dianne Hackborn
>>>>> Android framework engineer
>>>>> hack...@android.com
>>>>>
>>>>> Note: please don't send private questions to me, as I don't have time
>>>>> to provide private support.  All such questions should be posted on public
>>>>> forums, where I and others can see and answer them.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>>
>> --
>> Dianne Hackborn
>> Android framework engineer
>> hack...@android.com
>>
>> Note: please don't send private questions to me, as I don't have time to
>> provide private support, and so won't reply to such e-mails.  All such
>> questions should be posted on public forums, where I and others can see and
>> answer them.
>>
>>
>>
>>
>>
>
> >
>


-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to