RAGOpoR
RAGOpoR

Reputation: 8168

how to understand Crash Log of iPhone

i only know it Crash not run out of memory.

how did i know which it cause of error?

Incident Identifier: 242C320A-763C-407E-BD40-443E3E9B611C
CrashReporter Key:   307097bc0924dac79e5352eb10692943c0ef05ad
Process:         AsianDelight [4894]
Path:            /var/mobile/Applications/7A8FF881-A033-45B9-8F72-8478217821E9/AsianDelight.app/AsianDelight
Identifier:      AsianDelight
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-01-20 16:32:49.285 +0700
OS Version:      iPhone OS 3.1.2 (7D11)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x00007532 realizeClass + 18
1   libobjc.A.dylib                 0x00007578 realizeClass + 88
2   libobjc.A.dylib                 0x00007578 realizeClass + 88
3   libobjc.A.dylib                 0x00007e76 prepareForMethodLookup + 26
4   libobjc.A.dylib                 0x0000523e lookUpMethod + 34
5   libobjc.A.dylib                 0x00002a0a _class_lookupMethodAndLoadCache + 6
6   libobjc.A.dylib                 0x00002740 objc_msgSend_uncached + 20
7   AsianDelight                    0x00004b3a -[FlowCoverView numTiles] (FlowCoverView.m:250)
8   AsianDelight                    0x000048ea -[FlowCoverView updateAnimationAtTime:] (FlowCoverView.m:487)
9   AsianDelight                    0x000057f6 -[FlowCoverView driveAnimation] (FlowCoverView.m:520)
10  Foundation                      0x0000ccfe __NSFireTimer + 130
11  CoreFoundation                  0x00056bac CFRunLoopRunSpecific + 2112
12  CoreFoundation                  0x00056356 CFRunLoopRunInMode + 42
13  GraphicsServices                0x00003cb8 GSEventRunModal + 108
14  GraphicsServices                0x00003d64 GSEventRun + 56
15  UIKit                           0x00002768 -[UIApplication _run] + 384
16  UIKit                           0x0000146c UIApplicationMain + 688
17  AsianDelight                    0x00002664 main (main.m:14)
18  AsianDelight                    0x00002620 start + 44

Thread 1:
0   libSystem.B.dylib               0x00000818 mach_msg_trap + 20
1   libSystem.B.dylib               0x00002ff8 mach_msg + 44
2   CoreFoundation                  0x000567f6 CFRunLoopRunSpecific + 1162
3   CoreFoundation                  0x00056356 CFRunLoopRunInMode + 42
4   WebCore                         0x0005d9de RunWebThread(void*) + 286
5   libSystem.B.dylib               0x0002492a _pthread_body + 10

Thread 0 crashed with ARM Thread State:
    r0: 0x0012cd00    r1: 0xffffffff      r2: 0x80000000      r3: 0x00000002
    r4: 0x00000000    r5: 0x0012cd00      r6: 0x38680878      r7: 0x2ffff3e4
    r8: 0x00145798    r9: 0x001fc098     r10: 0x00000000     r11: 0x2ffff628
    ip: 0x00000004    sp: 0x2ffff3cc      lr: 0x3240357f      pc: 0x32403532
  cpsr: 0x20000030

Binary Images:
    0x1000 -     0x7fff +AsianDelight armv6  <df65e87046878ce496d0b1ac952247a1> /var/mobile/Applications/7A8FF881-A033-45B9-8F72-8478217821E9/AsianDelight.app/AsianDelight
   0x6a000 -    0x6bfff  dns.so armv7  <35ac487c38e38ed5810d5ed0d5c67546> /usr/lib/info/dns.so
 0x3541000 -  0x366afff  GLEngine armv7  <3363af21f4d6a81aaae829238bb06eb4> /System/Library/Frameworks/OpenGLES.framework/GLEngine.bundle/GLEngine
 0x3696000 -  0x372afff  IMGSGX535GLDriver armv7  <999124d3d82ac52e0eb81732f945610c> /System/Library/Extensions/IMGSGX535GLDriver.bundle/IMGSGX535GLDriver
0x2fe00000 - 0x2fe24fff  dyld armv7  <5db9f5d0275997de58efff111816706e> /usr/lib/dyld
0x30149000 - 0x3016efff  AppSupport armv7  <ca2e9a4f0475af20028968840ab94ecf> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x30175000 - 0x3017ffff  MobileCoreServices armv7  <36d71cd8dd49f5d5addb356f449b562a> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x30184000 - 0x30184fff  Accelerate armv7  <939f94df6c7e6e7a090ddee1ec09c844> /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate
0x301b8000 - 0x301c3fff  libz.1.dylib armv7  <8faba7ded9b3527ccf54c2f224f9a12f> /usr/lib/libz.1.dylib
0x301c4000 - 0x301eefff  CoreText armv7  <821e9c7c935b6a8d735e2d2d9ebcee04> /System/Library/PrivateFrameworks/CoreText.framework/CoreText
0x302c6000 - 0x302cefff  CoreVideo armv7  <9259f5ae2a74b53e4f13b27fa3d511e8> /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo
0x302d4000 - 0x302d7fff  libGFXShared.dylib armv7  <1ab8608f288196f32905d3bdab9616b4> /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x304cf000 - 0x3050ffff  libsqlite3.dylib armv7  <c2b5985d8307d73b39140e76adfd2eb7> /usr/lib/libsqlite3.dylib
0x30578000 - 0x30a4efff  WebCore armv7  <4e2bac4e01a15979c9ac096f78280db0> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x30b13000 - 0x30b13fff  vecLib armv7  <4eb91bf56603dc0db6784d8d3240bfa8> /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x30c2b000 - 0x30d04fff  libGLProgrammability.dylib armv7  <efc744c0ff3697951a5c269c37a9b2cf> /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x30d05000 - 0x30d29fff  SystemConfiguration armv7  <c57df668b510f025ee5a173ad30fb48e> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x30d6c000 - 0x30decfff  QuartzCore armv7  <af0722911ffc74fc08075e9831a6222e> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x30e5d000 - 0x30e72fff  libresolv.9.dylib armv7  <2b6a9404652dd2b5abd1c6a5583e8533> /usr/lib/libresolv.9.dylib
0x30ec7000 - 0x30ed0fff  SpringBoardServices armv7  <17ca8b5262cd6484d41efdc72c6fd057> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x30fe6000 - 0x30ffbfff  OpenGLES armv7  <be80a5e4c55c2920be2c31f740bb9dba> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x31003000 - 0x31009fff  libkxld.dylib armv7  <04ab19af95239c12a98539478eebc560> /usr/lib/system/libkxld.dylib
0x312f6000 - 0x312fcfff  libgcc_s.1.dylib armv7  <263b2691cd12171b31fa600716104e4a> /usr/lib/libgcc_s.1.dylib
0x31338000 - 0x31367fff  libCGFreetype.A.dylib armv7  <2ec5ad6812f5ea3859cb4189d62b7265> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x31393000 - 0x313cafff  IOKit armv7  <0afabe8bf08fc163ba8e4ed614092cd3> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x313e9000 - 0x313eafff  IOMobileFramebuffer armv7  <9d9f0254b5b64ced3d58191748f3027b> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x313ed000 - 0x314e2fff  Foundation armv7  <ede5b943f529ce1b862c15dc876992c1> /System/Library/Frameworks/Foundation.framework/Foundation
0x314ed000 - 0x31599fff  libxml2.2.dylib armv7  <a491bfc5f062f33185a3f98969bae3c2> /usr/lib/libxml2.2.dylib
0x31926000 - 0x319a8fff  WebKit armv7  <b9b7246a09f5db68e44497d318cb3ab6> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x319a9000 - 0x31aa0fff  libSystem.B.dylib armv7  <3f94d4b13815a93cbdfc6c7dc2afe5b4> /usr/lib/libSystem.B.dylib
0x31aa2000 - 0x31b8bfff  AudioToolbox armv7  <393fa1e155bb0523c2a90555bb394498> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x31b8d000 - 0x31bfcfff  CFNetwork armv7  <b55671f2472fdae3f811ae6f636b4e2e> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x31bfe000 - 0x31c42fff  libGLImage.dylib armv7  <ea2c117d2db3bb4c7d2137ffb9a09bdd> /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x31d59000 - 0x31d5cfff  IOSurface armv7  <81661b8e151a9af6ce5704a728e12dc7> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x31ed9000 - 0x31f8dfff  JavaScriptCore armv7  <d3434c868a9a0f4016ed32ba90a35c4d> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x31f91000 - 0x320e6fff  CoreGraphics armv7  <5852bd39fd1ef304da7b017949755cab> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x321d4000 - 0x322d5fff  libicucore.A.dylib armv7  <1081389fef915d9b8858d0dfff04568e> /usr/lib/libicucore.A.dylib
0x323fc000 - 0x32499fff  libobjc.A.dylib armv7  <1a57ecb9f5c0f274a274b3eb53df48ed> /usr/lib/libobjc.A.dylib
0x324b5000 - 0x324cbfff  AddressBook armv7  <c21d7ab21d7e67f84c487bc278568bbe> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x32511000 - 0x325bbfff  CoreFoundation armv7  <51c03f1f8755868781e3e719d8df7b6f> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x3286c000 - 0x328f2fff  ImageIO armv7  <ea76d0fd3ca8c1a6104bc0f013255e2d> /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO
0x3290f000 - 0x32918fff  GraphicsServices armv7  <5387c7197570ac7df97759c0402d453d> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x32a01000 - 0x32a02fff  CoreSurface armv7  <f3aae0195e4510657029b19161138593> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x32a56000 - 0x32a7efff  libvDSP.dylib armv7  <d846b621ce13b16241ac2d32ddd28615> /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x32a81000 - 0x32a86fff  liblockdown.dylib armv7  <5b665cd59d9884ceecec6441fc42bc14> /usr/lib/liblockdown.dylib
0x32aed000 - 0x32b07fff  libRIP.A.dylib armv7  <0dc4e83b63c1350517949e24204817fb> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
0x32b09000 - 0x32b2dfff  Security armv7  <3a3406fe12445942f4d767c7fa4c24ce> /System/Library/Frameworks/Security.framework/Security
0x32b60000 - 0x33524fff  UIKit armv7  <47c9d61f9cbe72938d1bfb1588306b97> /System/Library/Frameworks/UIKit.framework/UIKit
0x33594000 - 0x33599fff  MBX2D armv7  <ae091892e4419221d25f8db9307cedf0> /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
0x3359a000 - 0x335d7fff  CoreAudio armv7  <1eb427066a911d979a024e445464a067> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x335d8000 - 0x33621fff  libstdc++.6.dylib armv7  <99401ed10ec4d5608ce23ec33dd757c6> /usr/lib/libstdc++.6.dylib
0x33627000 - 0x33632fff  libbsm.0.dylib armv7  <03f3879bad1802636dadeb457ee74cb2> /usr/lib/libbsm.0.dylib

Upvotes: 11

Views: 20811

Answers (5)

user454322
user454322

Reputation: 7659

First, you should understand that there are four types of crashes and the log report depends on the type of crash:

  1. Watchdog timeout
  2. User force/quit
  3. Low memory termination
  4. Bugs

The log report is divided into the following sections:

Process information where

CrashReporter Key: Unique anonymous device id   
Process: Name[id]
Version: CFBundleVersion(CFBundleShortVersionString)


Incident Identifier: 242C320A-763C-407E-BD40-443E3E9B611C
CrashReporter Key:   307097bc0924dac79e5352eb10692943c0ef05ad
Process:         AsianDelight [4894]
Path:            /var/mobile/Applications/7A8FF881-A033-45B9-8F728478217821E9/AsianDelight.app/AsianDelight
Identifier:      AsianDelight
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]


Basic information

Date/Time:       2010-01-20 16:32:49.285 +0700
OS Version:      iPhone OS 3.1.2 (7D11)
Report Version:  104


Exception In this case there is no insightful information about the crash but, in other cases you can find the cause of the exception here.

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread:  0


Backtrace (list of active frames) of the thread where the crash happened, Thread 0 in this case.

In the line
7 AsianDelight 0x00004b3a -[FlowCoverView numTiles] (FlowCoverView.m:250)
7 is the frame number
AsianDelight is the name of the binary
0x00004b3a is the address of the function
[FlowCoverView numTiles] (FlowCoverView.m:250) file and number line. Sometimes it might be something like 0x10009c000 + 137220 this the address base and offset. Through symbolication this can be mapped to source code. To do the symbolication, just drag and drop the crash log into the Xcode Organizer window in the device log section. Note that Xcode should have access to the binary and the .dsYM. Often Xcode fails to symbolicate the crash report, if this is the case check this link that explains how to do it manually.

Thread 0 Crashed:
0   libobjc.A.dylib                 0x00007532 realizeClass + 18
1   libobjc.A.dylib                 0x00007578 realizeClass + 88
2   libobjc.A.dylib                 0x00007578 realizeClass + 88
3   libobjc.A.dylib                 0x00007e76 prepareForMethodLookup + 26
4   libobjc.A.dylib                 0x0000523e lookUpMethod + 34
5   libobjc.A.dylib                 0x00002a0a _class_lookupMethodAndLoadCache + 6
6   libobjc.A.dylib                 0x00002740 objc_msgSend_uncached + 20
7   AsianDelight                    0x00004b3a -[FlowCoverView numTiles] (FlowCoverView.m:250)
8   AsianDelight                    0x000048ea -[FlowCoverViewupdateAnimationAtTime:] (FlowCoverView.m:487)

Thread state shows the values and registers when the crash happened

Thread 0 crashed with ARM Thread State:
r0: 0x0012cd00    r1: 0xffffffff      r2: 0x80000000      r3: 0x00000002
r4: 0x00000000    r5: 0x0012cd00      r6: 0x38680878      r7: 0x2ffff3e4
r8: 0x00145798    r9: 0x001fc098     r10: 0x00000000     r11: 0x2ffff628
ip: 0x00000004    sp: 0x2ffff3cc      lr: 0x3240357f      pc: 0x32403532


Binaries loaded when the crash happened

Binary Images:
0x1000 -     0x7fff +AsianDelight armv6  <df65e87046878ce496d0b1ac952247a1> /var/mobile/Applications/7A8FF881-A033-45B9-8F72-8478217821E9/AsianDelight.app/AsianDelight
0x6a000 -    0x6bfff  dns.so armv7  <35ac487c38e38ed5810d5ed0d5c67546>/usr/lib/info/dns.so
0x3541000 - 


This answer is based on the WWDC 2010 session 317 Understanding Crash Reports on iPhone OS by Madhuwanti Vaidya and Bill Dirks, which I found thanks to Pierre's answer.

Here is the pdf from the session: http://adcdownload.apple.com//wwdc_2010/wwdc_2010_video_assets__pdfs/317__understanding_crash_reports_on_iphone_os.pdf

Upvotes: 2

kelkarm
kelkarm

Reputation: 359

I came across the same issue and found a repro case: When I flick through the images in the FlowCoverView and immediately hit the done button, it crashes with the exact same crash log.

Looks like the done action causes the FlowCoverViewController to be released, which causes the FlowCoverView’s delegate to zombie out.

If the FlowCoverView’s touchesEnded is in progress during this time, it leads to a crasher.

There may be a better way to fix this, but here’s what I attempted that seemed to have solved this problem:

In the FlowCoverViewController’s dealloc method, I tried to access the FlowCoverView to set it’s delegate to nil:

-(void)dealloc
{
NSArray *viewsArray = [self.view subviews];
for (UIView*v in viewsArray)
{
if ([v isKindOfClass:[FlowCoverView class]])
{
FlowCoverView *fcv = (FlowCoverView*)v;
fcv.delegate = nil;
}
}
...
}

Let me know if this solved your crash.

Upvotes: 1

Pierre
Pierre

Reputation: 2019

Have a look at Session 317 from the WWDC 10 videos. http://developer.apple.com/videos/wwdc/2010/

Upvotes: 4

David Sowsy
David Sowsy

Reputation: 1680

  1. If you are running Snow Leopard, turn on the Static Analyzer in your project.
  2. Turn on NSZombieEnabled http://www.frogameleon.com/blog/last-night-an-iphone-zombie-nszombieenabled-saved-my-life
  3. Review the other Debugging docs and use the tools Apple provides. http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/130-Debugging_Applications/debugging_applications.html

Upvotes: 3

Eino Gourdin
Eino Gourdin

Reputation: 4547

The problem arises in the method numTiles of FlowCoverView. You can look in there. Apparently it's an unknown selector sent to an object, as it fails in a objc_msgSend_....

Upvotes: 4

Related Questions