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
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.