Reputation: 1927
I got this app live on the app store, for which in 10 days I got more than 6000 crashes! The stacktrace I can see on HockeyApp is quite cryptic, and I also get 2 different stacktraces depending on iOS version (5 or 6), but I'm pretty sure they are both the same crash. What do you think about this? Where should I hunt the bug? Needless to say I can't reproduce it.
iOS 6
Thread 0 Crashed:
0 libobjc.A.dylib 0x3ae395d0 _objc_msgSend + 16
1 Foundation 0x338bc4a1 __NSThreadPerformPerform + 461
2 CoreFoundation 0x32f798f7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
3 CoreFoundation 0x32f791f3 __CFRunLoopDoSources0 + 363
4 CoreFoundation 0x32f77f2f __CFRunLoopRun + 647
5 CoreFoundation 0x32eeb23d _CFRunLoopRunSpecific + 357
6 CoreFoundation 0x32eeb0c9 _CFRunLoopRunInMode + 105
7 GraphicsServices 0x36aa633b _GSEventRunModal + 75
8 UIKit 0x34e072b9 _UIApplicationMain + 1121
9 <REDACTED> 0x00055943 main (main.m:16)
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x736f7477
Crashed Thread: 0
iOS 5:
Thread 0 Crashed:
0 libobjc.A.dylib 0x338c8f78 _objc_msgSend + 16
1 CoreFoundation 0x35c091fb -[NSObject performSelector:withObject:] + 43
2 Foundation 0x350d9747 ___NSThreadPerformPerform + 351
3 CoreFoundation 0x35c7ead3 ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
4 CoreFoundation 0x35c7e335 ___CFRunLoopDoSources0 + 365
5 CoreFoundation 0x35c7d045 ___CFRunLoopRun + 653
6 CoreFoundation 0x35c004a5 _CFRunLoopRunSpecific + 301
7 CoreFoundation 0x35c0036d _CFRunLoopRunInMode + 105
8 GraphicsServices 0x3399b439 _GSEventRunModal + 137
9 UIKit 0x333d8cd5 _UIApplicationMain + 1081
10 <REDACTED> 0x0003f32b main (main.m:16)
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0xf10d9e21
Crashed Thread: 0
I have checked every call to performSelector:withObject: and I can't see any unrecognized selector being called. Where can the bug lie?
UPDATE ** Included stack traces from background threads as well
Thread 1:
0 libsystem_kernel.dylib 0x3568a3a8 _kevent + 24
1 libdispatch.dylib 0x339bdbc9 __dispatch_mgr_wakeup + 1
Thread 2:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 3:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 4:
0 libsystem_kernel.dylib 0x3569a0d8 ___psynch_mutexwait + 24
1 WebCore 0x3721d4ef __ZL17_WebTryThreadLockb + 215
2 WebCore 0x3721d7f3 __ZL14WebRunLoopLockP19__CFRunLoopObservermPv + 31
3 CoreFoundation 0x355f8b1b ___CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 19
4 CoreFoundation 0x355f6d57 ___CFRunLoopDoObservers + 259
5 CoreFoundation 0x355f701f ___CFRunLoopRun + 615
6 CoreFoundation 0x3557a4a5 _CFRunLoopRunSpecific + 301
7 CoreFoundation 0x3557a36d _CFRunLoopRunInMode + 105
8 WebCore 0x372c0ca3 __ZL12RunWebThreadPv + 403
9 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 5:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 6:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 7:
0 libsystem_kernel.dylib 0x3568a004 _mach_msg_trap + 20
1 CoreFoundation 0x355f83f3 ___CFRunLoopServiceMachPort + 127
2 CoreFoundation 0x355f712b ___CFRunLoopRun + 883
3 CoreFoundation 0x3557a4a5 _CFRunLoopRunSpecific + 301
4 CoreFoundation 0x3557a36d _CFRunLoopRunInMode + 105
5 Foundation 0x349bfbb9 +[NSURLConnection(Loader) _resourceLoadLoop:] + 309
6 Foundation 0x349bfa81 -[NSThread main] + 73
7 Foundation 0x34a53591 ___NSThread__main__ + 1049
8 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 8:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 9:
0 libsystem_kernel.dylib 0x3569a570 ___select + 20
1 libsystem_c.dylib 0x34843735 __pthread_start + 321
Thread 10:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 11:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 12:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 13:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 14:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 15:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 16:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 17:
0 libsystem_kernel.dylib 0x3569acd4 ___workq_kernreturn + 8
Thread 0 crashed with ARM Thread State:
r0: 0x10910cc0 r1: 0x322194f6 r2: 0x00482a7a r3: 0x00000000
r4: 0xf10a6823 r5: 0x00481a7a r6: 0x33102823 r7: 0x2fef2e54
r8: 0x00482a7a r9: 0x0c88653d r10: 0x3efac9b4 r11: 0x00000000
ip: 0x004a710c sp: 0x2fef2e38 lr: 0x00315cf3 pc: 0x33242f78
cpsr: 0x20080030
Thanks
EDITED: I finally solved it thanks to DDPerformDebugger.m The crash was caused by a third party framework provided by the customer. Thanks everybody
Upvotes: 2
Views: 808
Reputation: 15339
It seems you have a memory and threading issue in your app. The app is trying to send a message (method) to an object that is already deallocated.
Both stack traces hint at the usage of threads. It looks like you are doing some work in a background thread and then sending a message to an object (on the main thread?) which does not exist any more. So it might be helpful to check the stack traces of your background threads and see what they are doing.
Upvotes: 1