Android ANR Analysis Solution

Source: Internet
Author: User

13:12:11 04-01. 572 I/InputDispatcher (220): Application is not responding: Window {2b263310com. android. email/com. android. email. activity. splitScreenActivitypaused = false }. 5009.8 ms since event, 5009.5 ms since waitstarted 04-011:12:11. 572 I/WindowManager (220): Input event dispatching timedout sending tocom. android. email/com. android. email. activity. splitScreenActivity 04-01 13:12:14. 123 I/Process (220 ): Sending signal. PID: 21404 SIG: 3---time when the anroccurs and time when trace.txt is generated 04-01 13:12:14. 123 I/dalvikvm (21404): threadid = 4: reacting to signal 3 ...... 04. 872 E/ActivityManager (220): ANR in com. android. email (com. android. email /. activity. splitScreenActivity) 04-011:12:15. 872 E/ActivityManager (220): Reason: keyDispatchingTimedOut 04-011:12:15. 872 E/ActivityManager (220): Load: 8.68/8.37/8.53 04-011. 872 E/ActivityManager (220): CPUusage from 4361 ms to 699 ms ago ---- CPU usage before the occurrence of ANR 04. 872 E/ActivityManager (220): 5.5% 21404/com. android. email: 1.3% user + 4.1% kernel/faults: 10 minor 04-011. 872 E/ActivityManager (220): 4.3% 220/system_server: 2.7% user + 1.5% kernel/faults: 11 minor 2 major 04-011. 872 E/ActivityManager (220): 0.9% 52/spi_qsd.0: 0% user + 0.9% kernel 04-011:12:15. 872 E/ActivityManager (220): 0.5% 65/irq/170-cyttsp-: 0% user + 0.5% kernel 04-011. 872 E/ActivityManager (220): 0.5% 296/com. android. systemui: 0.5% user + 0% kernel 04-011. 872 E/ActivityManager (220): 100% TOTAL: 4.8% user + 7.6% kernel + 87% iowait 04-011:12:15. 872 E/ActivityManager (220): CPUusage from 3697 ms to 4223 ms later: -- CPU usage after ANR 04-011. 872 E/ActivityManager (220): 25% 21404/com. android. email: 25% user + 0% kernel/faults: 191 minor 04-011. 872 E/ActivityManager (220): 16% 21603/_ eas (par. hakan: 16% user + 0% kernel 04-011. 872 E/ActivityManager (220): 7.2% 21406/GC: 7.2% user + 0% kernel 04-011:12:15. 872 E/ActivityManager (220): 1.8% 21409/Compiler: 1.8% user + 0% kernel 04-011:12:15. 872 E/ActivityManager (220): 5.5% 220/system_server: 0% user + 5.5% kernel/faults: 1 minor 04-011. 872 E/ActivityManager (220): 5.5% 263/InputDispatcher: 0% user + 5.5% kernel 04-011:12:15. 872 E/ActivityManager (220): 32% TOTAL: 28% user + 3.7% kernel

From the trace.txt file, the following information is seen at most:

  -----pid 21404 at 2011-04-01 13:12:14 -----     Cmdline: com.android.email    DALVIK THREADS:    (mutexes: tll=0tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)    "main" prio=5 tid=1NATIVE    | group="main" sCount=1 dsCount=0obj=0x2aad2248 self=0xcf70    | sysTid=21404 nice=0 sched=0/0cgrp=[fopen-error:2]     handle=1876218976    atandroid.os.MessageQueue.nativePollOnce(Native Method)    atandroid.os.MessageQueue.next(MessageQueue.java:119)    atandroid.os.Looper.loop(Looper.java:110)    at android.app.ActivityThread.main(ActivityThread.java:3688)    at java.lang.reflect.Method.invokeNative(Native Method)    atjava.lang.reflect.Method.invoke(Method.java:507)    atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)    at     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)    at dalvik.system.NativeStart.main(Native Method) 


Process:com.android.email    Activity:com.android.email/.activity.MessageView    Subject:keyDispatchingTimedOut    CPU usage from 2550ms to -2814ms ago:    5%187/system_server: 3.5% user + 1.4% kernel / faults: 86 minor 20major    4.4% 1134/com.android.email: 0.7% user + 3.7% kernel /faults: 38 minor 19 major    4% 372/com.android.eventstream: 0.7%user + 3.3% kernel / faults: 6 minor    1.1% 272/com.android.phone:0.9% user + 0.1% kernel / faults: 33 minor    0.9%252/com.android.systemui: 0.9% user + 0% kernel    0%409/com.android.eventstream.telephonyplugin: 0% user + 0% kernel /faults: 2 minor    0.1% 632/com.android.devicemonitor: 0.1% user + 0%kernel    100%TOTAL: 6.9% user + 8.2% kernel +84%iowait    -----pid 1134 at 2010-12-17 17:46:51 -----    Cmd line:com.android.email    DALVIK THREADS:    (mutexes: tll=0 tsl=0tscl=0 ghl=0 hwl=0 hwll=0)    "main" prio=5 tid=1 WAIT    |group="main" sCount=1 dsCount=0 obj=0x2aaca180self=0xcf20    | sysTid=1134 nice=0 sched=0/0 cgrp=[fopen-error:2]handle=1876218976    at java.lang.Object.wait(Native Method)    -waiting on <0x2aaca218> (a java.lang.VMThread)    atjava.lang.Thread.parkFor(Thread.java:1424)    atjava.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)    atsun.misc.Unsafe.park(Unsafe.java:337)    atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:157)    atjava.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:808)    atjava.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:841)    atjava.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1171)    atjava.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:200)    atjava.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)    atandroid.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:378)    atandroid.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:222)    atandroid.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)    atandroid.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)    atandroid.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)    atandroid.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)    atandroid.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271)    atcom.android.email.provider.EmailProvider.query(EmailProvider.java:1098)    atandroid.content.ContentProvider$Transport.query(ContentProvider.java:187)    atandroid.content.ContentResolver.query(ContentResolver.java:268)    atcom.android.email.provider.EmailContent$Message.restoreMessageWithId(EmailContent.java:648)    atcom.android.email.Controller.setMessageRead(Controller.java:658)    atcom.android.email.activity.MessageView.onMarkAsRead(MessageView.java:700)    atcom.android.email.activity.MessageView.access$2500(MessageView.java:98)    atcom.android.email.activity.MessageView$LoadBodyTask.onPostExecute(MessageView.java:1290)    atcom.android.email.activity.MessageView$LoadBodyTask.onPostExecute(MessageView.java:1255)    atandroid.os.AsyncTask.finish(AsyncTask.java:417)    atandroid.os.AsyncTask.access$300(AsyncTask.java:127)    atandroid.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)    atandroid.os.Handler.dispatchMessage(Handler.java:99)    atandroid.os.Looper.loop(Looper.java:123)    atandroid.app.ActivityThread.main(ActivityThread.java:3652)    atjava.lang.reflect.Method.invokeNative(Native Method)    atjava.lang.reflect.Method.invoke(Method.java:507)    atcom.android.internal.os.ZygoteIn    

final Message message=Message.restoreMessageWithId(mProviderContext,messageId);if(message==null){return;}Account account=Account.restoreAccountWithId(mProviderContext,message.mAccountKey);if(account==null){return;//isMessagingController returns false for null, but let's make itclear.}if(isMessagingController(account)){new Thread(){@Overridepublic void run(){mLegacyController.processPendingActions(message.mAccountKey);}}.start();}

 

newThread() {finalMessagemessage=Message.restoreMessageWithId(mProviderContext,messageId);if(message==null){return;}Accountaccount=Account.restoreAccountWithId(mProviderContext,message.mAccountKey);if(account==null){return;//isMessagingController returns false for null, but let's make itclear.}if(isMessagingController(account)) {mLegacyController.processPendingActions(message.mAccountKey);}}.start();

 

ANRin process: com.android.mediascape:PhotoViewer (last incom.android.mediascape:PhotoViewer)    Annotation:keyDispatchingTimedOut    CPU usage:    Load: 6.74 / 6.89 / 6.12    CPUusage from 8254ms to 3224ms ago:    ovider.webmedia: 4% = 4% user +0% kernel / faults: 68 minor    system_server: 2% = 1% user + 0%kernel / faults: 18 minor    re-initialized>: 0% = 0% user + 0%kernel / faults: 50 minor    events/0: 0% = 0% user + 0%kernel    TOTAL:7% = 6% user + 1% kernel    DALVIKTHREADS:    ""main"" prio=5 tid=3 NATIVE    |group=""main"" sCount=1 dsCount=0 s=Yobj=0x4001b240 self=0xbda8    | sysTid=2579 nice=0 sched=0/0cgrp=unknown handle=-1343993184    atorg.apache.harmony.luni.platform.OSNetworkSystem.receiveStreamImpl(NativeMethod)    atorg.apache.harmony.luni.platform.OSNetworkSystem.receiveStream(OSNetworkSystem.java:478)    atorg.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:565)    atorg.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:87)    atorg.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection$LimitedInputStream.read(HttpURLConnection.java:303)    atjava.io.InputStream.read(InputStream.java:133)    atjava.io.BufferedInputStream.fillbuf(BufferedInputStream.java:157)    atjava.io.BufferedInputStream.read(BufferedInputStream.java:346)    atandroid.graphics.BitmapFactory.nativeDecodeStream(Native Method)    atandroid.graphics.BitmapFactory.decodeStream(BitmapFactory.java:459)    atcom.android.mediascape.activity.PhotoViewerActivity.getPreviewImage(PhotoViewerActivity.java:4465)    atcom.android.mediascape.activity.PhotoViewerActivity.dispPreview(PhotoViewerActivity.java:4406)    atcom.android.mediascape.activity.PhotoViewerActivity.access$6500(PhotoViewerActivity.java:125)    atcom.android.mediascape.activity.PhotoViewerActivity$33$1.run(PhotoViewerActivity.java:4558)    atandroid.os.Handler.handleCallback(Handler.java:587)    atandroid.os.Handler.dispatchMessage(Handler.java:92)    atandroid.os.Looper.loop(Looper.java:123)    atandroid.app.ActivityThread.main(ActivityThread.java:4370)    atjava.lang.reflect.Method.invokeNative(Native Method)    atjava.lang.reflect.Method.invoke(Method.java:521)    atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)    atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)    atdalvik.system.NativeStart.main(Native Method)    

11-1621:41:42.560 I/ActivityManager( 1190): ANR in process:android.process.acore (last in android.process.acore)    11-1621:41:42.560 I/ActivityManager( 1190): Annotation:keyDispatchingTimedOut    11-16 21:41:42.560 I/ActivityManager(1190): CPU usage:    11-16 21:41:42.560 I/ActivityManager( 1190):Load: 11.5 / 11.1 / 11.09    11-16 21:41:42.560 I/ActivityManager(1190): CPU usage from 9046ms to 4018ms ago:    11-16 21:41:42.560I/ActivityManager( 1190): d.process.acore:98%= 97% user + 0% kernel / faults: 1134 minor    11-16 21:41:42.560I/ActivityManager( 1190): system_server: 0% = 0% user + 0% kernel /faults: 1 minor    11-16 21:41:42.560 I/ActivityManager( 1190): adbd:0% = 0% user + 0% kernel    11-16 21:41:42.560 I/ActivityManager(1190): logcat: 0% = 0% user + 0% kernel    11-16 21:41:42.560I/ActivityManager( 1190): TOTAL:100% = 98% user + 1% kernel    Cmdline: android.process.acore    DALVIK THREADS:    "main"prio=5 tid=3 VMWAIT    |group="main" sCount=1 dsCount=0 s=N obj=0x40026240self=0xbda8    | sysTid=1815 nice=0 sched=0/0 cgrp=unknownhandle=-1344001376    atdalvik.system.VMRuntime.trackExternalAllocation(NativeMethod)    atandroid.graphics.Bitmap.nativeCreate(Native Method)    atandroid.graphics.Bitmap.createBitmap(Bitmap.java:468)    atandroid.view.View.buildDrawingCache(View.java:6324)    atandroid.view.View.getDrawingCache(View.java:6178)    atandroid.view.ViewGroup.drawChild(ViewGroup.java:1541)    ……    atcom.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)    atandroid.view.ViewRoot.draw(ViewRoot.java:1349)    atandroid.view.ViewRoot.performTraversals(ViewRoot.java:1114)    atandroid.view.ViewRoot.handleMessage(ViewRoot.java:1633)    atandroid.os.Handler.dispatchMessage(Handler.java:99)    atandroid.os.Looper.loop(Looper.java:123)    atandroid.app.ActivityThread.main(ActivityThread.java:4370)    atjava.lang.reflect.Method.invokeNative(Native Method)    atjava.lang.reflect.Method.invoke(Method.java:521)    atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)    atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)    atdalvik.system.NativeStart.main(Native Method)    "Thread-408"prio=5 tid=329 WAIT    |group="main" sCount=1 dsCount=0 s=N obj=0x46910d40self=0xcd0548    | sysTid=10602 nice=0 sched=0/0 cgrp=unknownhandle=15470792    at java.lang.Object.wait(Native Method)    -waiting on <0x468cd420> (a java.lang.Object)    atjava.lang.Object.wait(Object.java:288)    atcom.android.dialer.CallLogContentHelper$UiUpdaterExecutor$1.run(CallLogContentHelper.java:289)    atjava.lang.Thread.run(Thread.java:1096)

 

 

 

 

 

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.