Google Analytics iOS SDK [GAIReachabilityChecker reachabilityFlagsChanged: crash - ios

I keep on experiencing crash in my iOS app that is related to the GAIReachabilityChecker.
It seems to crash on this function:
-[GAIReachabilityChecker reachabilityFlagsChanged:]
And this is the error log:
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x00000001981939d0 objc_msgSend + 16
1 0x0000000100274de8 -[GAIReachabilityChecker reachabilityFlagsChanged:]
2 SystemConfiguration 0x000000018f0905cc reachPerform + 836
3 CoreFoundation 0x000000018c1db77c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
4 CoreFoundation 0x000000018c1daad8 __CFRunLoopDoSources0 + 256
5 CoreFoundation 0x000000018c1d8d70 __CFRunLoopRun + 632
6 CoreFoundation 0x000000018c119b38 CFRunLoopRunSpecific + 452
7 GraphicsServices 0x0000000191b3f830 GSEventRunModal + 168
8 UIKit 0x000000018f1580e8 UIApplicationMain + 1156
9 0x0000000100072870 main (main.m:17)
10 libdyld.dylib 0x0000000198783aa0 start + 4
There are no steps reproduce this issue, it just randomly crashing.
I'm using the the latest Google Analytics iOS SDK version 3.0

Related

Fabric/Crashlytics stopped showing adequate stacktrace for iOS app

My app is integrated with Fabric, and I was able to see crash stack traces for a long time. All of a sudden recently I noticed that the crash reports stopped making sense. All I see for my app stack trace is this:
Crashed: com.apple.main-thread
0 myApp 0x102a005b0 _hidden#5298_ (__hidden#5526_:499)
1 myApp 0x102a018e0 _hidden#5310_ (__hidden#5526_:346)
2 myApp 0x102a0f1e4 _hidden#5361_ (__hidden#5526_)
3 myApp 0x102bc00e0 _hidden#1801_ (__hidden#19024_)
4 libdispatch.dylib 0x180e48b24 _dispatch_call_block_and_release + 24
5 libdispatch.dylib 0x180e48ae4 _dispatch_client_callout + 16
6 libdispatch.dylib 0x180e89d60 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 964
7 CoreFoundation 0x1814ff070 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
8 CoreFoundation 0x1814fcbc8 __CFRunLoopRun + 2272
9 CoreFoundation 0x18141cda8 CFRunLoopRunSpecific + 552
10 GraphicsServices 0x1833ff020 GSEventRunModal + 100
11 UIKit 0x18b3fd78c UIApplicationMain + 236
12 myApp 0x10299bc14 main (__hidden#1255_:18)
13 libdyld.dylib 0x180eadfc0 start + 4
Fabric is not reporting any dSYMs missing or anything.
Does anyone know what's going on and how to fix this?

iPad Air Overheating for developer

Some of my application users are running iPad Air. I have had reports lately of the application crashing, but all the crash reports are just giving me the standard crashed in main method. After further investigation, I think the problem might be with the iPad overheating when they are taking photos.
Is there anything as a developer I can do to maybe save data before the application crashes from overheating?
Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x180591b90 objc_msgSend + 16
1 Foundation 0x1818e2658 __NSFireDelayedPerform + 428
2 CoreFoundation 0x180ed1794 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
3 CoreFoundation 0x180ed1438 __CFRunLoopDoTimer + 884
4 CoreFoundation 0x180eceb4c __CFRunLoopRun + 1520
5 CoreFoundation 0x180df8c50 CFRunLoopRunSpecific + 384
6 GraphicsServices 0x1826e0088 GSEventRunModal + 180
7 UIKit 0x1860da088 UIApplicationMain + 204
8 intelliSPEC21 0x10009b56c main (AdvancedMain.m:10)
9 libdyld.dylib 0x1809968b8 start + 4

How to debug a main.m iOS app crash

I have integrated Crashlytics in my iOS app which is currently live on the App Store. In my latest update, I am seeing a lot of crashes with the stack trace as below.
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x30f6ef46 objc_msgSend + 5
1 UIKit 0x26665f07 -[UINavigationController viewWillAppear:] + 406
2 UIKit 0x265d5b1f -[UIViewController _setViewAppearState:isAnimating:] + 438
3 CoreFoundation 0x22fcf46d __53-[__NSArrayI enumerateObjectsWithOptions:usingBlock:]_block_invoke + 48
4 CoreFoundation 0x22fc84c3 -[__NSArrayI enumerateObjectsWithOptions:usingBlock:] + 234
5 UIKit 0x265d5c9b -[UIViewController _setViewAppearState:isAnimating:] + 818
6 UIKit 0x2688c799 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 584
7 UIKit 0x26639bd9 _applyBlockToCFArrayCopiedToStack + 308
8 UIKit 0x265b5dd7 _afterCACommitHandler + 458
9 CoreFoundation 0x23069ffd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
10 CoreFoundation 0x230676bb __CFRunLoopDoObservers + 278
11 CoreFoundation 0x23067ac3 __CFRunLoopRun + 914
12 CoreFoundation 0x22fb53b1 CFRunLoopRunSpecific + 476
13 CoreFoundation 0x22fb51c3 CFRunLoopRunInMode + 106
14 GraphicsServices 0x2a5a2201 GSEventRunModal + 136
15 UIKit 0x2661f43d UIApplicationMain + 1440
16 MyApp 0x00123553 main (main.m:16)
I recently added interstitial ads in my app and I believe the crash is related to that. But how can I get more information from this stack trace or from crashlytics to understand what is really going wrong?
Have you tried enabling Exception Breakpoints?
1) Inside Xcode, switch to the Breakpoints Navigator (left menu, seventh icon from left to right, it looks just like a breakpoint)
2) Click the + symbol in the lower left corner and choose "Add Exception Breakpoint"
3) Run and crash.
You should now be able to see what really caused the crash.

Xcode crash report KERN_INVALID_ADDRESS at 0x0000000100001da0

I'm having a tough time figuring this crash report sent to me by Apple. For some reason they keep telling me that my app crashes on start but I cannot recreate the crash after testing it on different devices. As I'm not sure what's causing it to crash and not being able to recreate the crash, I was wondering if anyone can help shed some light on what the problem could be?
And some extra info, I'm using AsyncImageView 1.5.1 and the Reachability class. I'm not sure if that could be the source of the crash?
Any help would be greatly appreciated. Thanks a lot!
OS Version: iOS 8.0.2 (12A405)
Report Version: 105
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000100001da0
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x0000000194c880b4 objc_retain + 20
1 MyApp 0x0000000100113274 0x1000f4000 + 127604
2 MyApp 0x0000000100111a84 0x1000f4000 + 121476
3 CoreFoundation 0x0000000184324430 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 16
4 CoreFoundation 0x00000001842637dc _CFXNotificationPost + 2056
5 Foundation 0x000000018515b6bc -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
6 MyApp 0x000000010011099c 0x1000f4000 + 117148
7 Foundation 0x000000018524a7ec __NSThreadPerformPerform + 368
8 CoreFoundation 0x0000000184336320 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 20
9 CoreFoundation 0x00000001843355c4 __CFRunLoopDoSources0 + 260
10 CoreFoundation 0x0000000184333674 __CFRunLoopRun + 708
11 CoreFoundation 0x0000000184261660 CFRunLoopRunSpecific + 392
12 GraphicsServices 0x000000018d35f5a0 GSEventRunModal + 164
13 UIKit 0x0000000188b664f4 UIApplicationMain + 1484
14 MyApp 0x00000001000fab44 0x1000f4000 + 27460
15 libdyld.dylib 0x00000001952dea04 start + 0

Unable to symbolicate frameworks sometimes

I am completely at a loss on this one. I was able to symbolicate one of my crash reports (obtained from a user submitting it via the app) and it looked like this:
Thread 0 Crashed:
0 libobjc.A.dylib 0x360a3fbc objc_msgSend + 16
1 libobjc.A.dylib 0x360a50c5 _objc_rootRelease + 37
2 Foundation 0x31b7ec75 _timerRelease + 49
3 CoreFoundation 0x3729e709 __CFRunLoopDoTimer + 429
4 CoreFoundation 0x3729d29f __CFRunLoopRun + 1207
5 CoreFoundation 0x372204dd CFRunLoopRunSpecific + 301
6 CoreFoundation 0x372203a5 CFRunLoopRunInMode + 105
7 GraphicsServices 0x35dddfed GSEventRunModal + 157
8 UIKit 0x3055b743 UIApplicationMain + 1091
9 [App Name] 0x00002463 main (main.m:54)
However all of the rest of the crash reports look like this after being symbolicated:
Thread 0 Crashed:
0 libobjc.A.dylib 0x3790bfbc 0x37908000 + 16316
1 libobjc.A.dylib 0x3790d0c5 0x37908000 + 20677
2 Foundation 0x3505ec75 0x3505a000 + 19573
3 CoreFoundation 0x37d99709 0x37d0c000 + 579337
4 CoreFoundation 0x37d9829f 0x37d0c000 + 574111
5 CoreFoundation 0x37d1b4dd 0x37d0c000 + 62685
6 CoreFoundation 0x37d1b3a5 0x37d0c000 + 62373
7 GraphicsServices 0x37af2fcd 0x37aef000 + 16333
8 UIKit 0x3189b743 0x3186a000 + 202563
9 [App Name] 0x00002463 main (main.m:54)
Why do CoreFoundation, UIKit, etc. symbolicate in the first instance but not for the rest?
NOTE: I do have the original archive (that was submitted to the app store) and these are being symbolicated within Xcode 4.2 simply by dragging it into the organizer.
You most likely do not have the symbols on your Mac of the iOS version that crashed.
Check the iOS Version of the crash report (shows up in the top part of the report) and then check if you have the symbols for this iOS version here: /Developer/Platforms/iPhoneOS.platform/DeviceSupport.

Resources