ioscrash-log

What does this crash mean (iOS)?


When I submitted my app, Apple complained for a crash (which doesn't occur on my devices). (the app uses both Cocos2d and Kamcord). Here is the log they sent me. Does anyone have any idea on what's going on ?

Incident Identifier: DF08231F-6870-4BA1-B676-FABB198B2C1D
CrashReporter Key:   aca1b4fd3ac58a223f67f43ce5c768e6e94616f0
Hardware Model:      xxx
Process:         Intro Maker [21098]
Path:            /var/mobile/Applications/58D16C18-20F2-4A98-ADA0-DDF7518F7704/Intro Maker.app/Intro Maker
Identifier:      Intro Maker
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-01-17 17:47:44.172 -0800
OS Version:      iOS 6.0.1 (10A523)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x60000008
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x385b15b0 objc_msgSend + 16
1   Intro Maker                     0x000842b6 0x34000 + 328374
2   Intro Maker                     0x0006ec82 0x34000 + 240770
3   Intro Maker                     0x0006ef06 0x34000 + 241414
4   UIKit                           0x375f751e -[UIWindow _sendTouchesForEvent:] + 314
5   UIKit                           0x375e47fc -[UIApplication sendEvent:] + 376
6   UIKit                           0x375e4116 _UIApplicationHandleEvent + 6150
7   GraphicsServices                0x34d605a0 _PurpleEventCallback + 588
8   GraphicsServices                0x34d601ce PurpleEventCallback + 30
9   CoreFoundation                  0x318a9170 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
10  CoreFoundation                  0x318a9112 __CFRunLoopDoSource1 + 134
11  CoreFoundation                  0x318a7f94 __CFRunLoopRun + 1380
12  CoreFoundation                  0x3181aeb8 CFRunLoopRunSpecific + 352
13  CoreFoundation                  0x3181ad44 CFRunLoopRunInMode + 100
14  GraphicsServices                0x34d5f2e6 GSEventRunModal + 70
15  UIKit                           0x376382f4 UIApplicationMain + 1116
16  Intro Maker                     0x0008204e 0x34000 + 319566
17  Intro Maker                     0x0003685c 0x34000 + 10332

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x307ee648 kevent64 + 24
1   libdispatch.dylib               0x3990a974 _dispatch_mgr_invoke + 792
2   libdispatch.dylib               0x3990a654 _dispatch_mgr_thread$VARIANT$mp + 32

Thread 2 name:  WebThread
Thread 2:
0   libsystem_kernel.dylib          0x307edeb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x307ee048 mach_msg + 36
2   CoreFoundation                  0x318a9040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                  0x318a7d9e __CFRunLoopRun + 878
4   CoreFoundation                  0x3181aeb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x3181ad44 CFRunLoopRunInMode + 100
6   WebCore                         0x32777a40 RunWebThread(void*) + 440
7   libsystem_c.dylib               0x3853730e _pthread_start + 306
8   libsystem_c.dylib               0x385371d4 thread_start + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x210addc0    r1: 0x0024f355      r2: 0x210afa60      r3: 0x00000000
    r4: 0x60000000    r5: 0x0024f355      r6: 0x210addc0      r7: 0x2fdcb688
    r8: 0x21072f40    r9: 0x00093cd5     r10: 0x42200000     r11: 0x0024cdc5
    ip: 0x385c21f1    sp: 0x2fdcb5d8      lr: 0x000842bb      pc: 0x385b15b0
  cpsr: 0x00000030

Solution

  • When you created the .ipa file that you uploaded to Apple, you had to first create an app archive (a .xcarchive folder). If that folder (and its contents) still exist on your Mac, and you drag the crash report onto the Xcode Organizer, then Xcode should symbolicate the crash report. That means that each of frames 1, 2, 3, 16, and 17 will show you the function, filename, and line number in your source code. This may help you track down your problem.

    The most common reason for a SIGSEGV in objc_msgSend is sending a message to a deallocated object through a dangling pointer.

    Running the static analyzer on your app may help you track down improper memory management, if you are following Apple's memory management naming conventions. From the menu bar, choose Product > Analyze.

    Running your app with zombies enabled may also help you track down your problem. You can do this on the simulator using Instruments; it has a Zombie preset. To do it on a device, you must edit your scheme, go to the Diagnostics tab, and turn on the “Enable Zombie Objects” checkbox.