VectorKit/OpenGL crashes in MKMapView since iOS 9 - ios

I can see from the Crashlytics that some of my app users are getting the following crashes. I have never seen these myself and don't know how to reproduce them as they don't have my code in the stack trace. I have read about OpenGL that some crashes are possible when trying to update the surface while the app is in the background. Not sure if that is the case here because the crashes didn't occur before iOS 9.
I have several annotations on the map, custom MKAnnotationView derived views, some custom overlays and a MKTileOverlay derived tile source. The map handling code and overlays are Objective-C, but my app has also some Swift code.
Does anybody have any ideas what could be the reason for the crashes?
1)
Thread : Crashed: com.apple.maps.geogl.renderQueue
0 VectorKit 0x18c82a894 ___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke_2 + 876
1 VectorKit 0x18c82a47c ___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke + 212
2 libdispatch.dylib 0x182625630 _dispatch_call_block_and_release + 24
3 libdispatch.dylib 0x1826255f0 _dispatch_client_callout + 16
4 libdispatch.dylib 0x182631634 _dispatch_queue_drain + 864
2)
Thread : Crashed: com.apple.mapdisplay.stylesheetLoadQueue
0 libdispatch.dylib 0x183ec2a90 dispatch_async + 76
1 libdispatch.dylib 0x183ec2a88 dispatch_async + 68
2 VectorKit 0x18df501c4 std::__1::__function::__func<-[VKTileSetBackedTileSource setStyleManager:]::$_0, std::__1::allocator<-[VKTileSetBackedTileSource setStyleManager:]::$_0>, void (std::__1::shared_ptr<gss::StyleManager>, bool)>::operator()(std::__1::shared_ptr<gss::StyleManager>&&, bool&&) + 176
3 VectorKit 0x18e11533c std::__1::__function::__func<gss::StyleManager::addFinishedDecodingGlobalPropertiesCallback(std::__1::function<void (std::__1::shared_ptr<gss::StyleManager>, bool)>)::$_0, std::__1::allocator<gss::StyleManager::addFinishedDecodingGlobalPropertiesCallback(std::__1::function<void (std::__1::shared_ptr<gss::StyleManager>, bool)>)::$_0>, void (bool)>::operator()(bool&&) + 88
4 VectorKit 0x18e10c248 ___ZN3gss10StyleSheet43addFinishedDecodingGlobalPropertiesCallbackENSt3__18functionIFvbEEE_block_invoke + 56
5 libdispatch.dylib 0x183ec1630 _dispatch_call_block_and_release + 24
6 libdispatch.dylib 0x183ec15f0 _dispatch_client_callout + 16
7 libdispatch.dylib 0x183ecd634 _dispatch_queue_drain + 864
8 libdispatch.dylib 0x183ec50f4 _dispatch_queue_invoke + 464
9 libdispatch.dylib 0x183ecf504 _dispatch_root_queue_drain + 728
10 libdispatch.dylib 0x183ecf224 _dispatch_worker_thread3 + 112
11 libsystem_pthread.dylib 0x1840d5470 _pthread_wqthread + 1092
12 libsystem_pthread.dylib 0x1840d5020 start_wqthread + 4
3)
Thread : Fatal Exception: NSGenericException
0 CoreFoundation 0x23f6a2eb __exceptionPreprocess
1 libobjc.A.dylib 0x23736dff objc_exception_throw
2 CoreFoundation 0x23f69d6d -[NSException name]
3 VectorKit 0x2c923af9 -[VKRasterOverlayTileSource _queueDraw:]
4 VectorKit 0x2c5e74ad -[VKTileSource fetchTileForKey:]
5 VectorKit 0x2c7c512d -[VKTileProvider dirtyTilesFromTileSource:]
6 libdispatch.dylib 0x23b07dd7 _dispatch_call_block_and_release
7 libdispatch.dylib 0x23b07dc3 _dispatch_client_callout
8 libdispatch.dylib 0x23b0c671 _dispatch_main_queue_callback_4CF
9 CoreFoundation 0x23f2cfc5 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
10 CoreFoundation 0x23f2b4bf __CFRunLoopRun
11 CoreFoundation 0x23e7dbb9 CFRunLoopRunSpecific
12 CoreFoundation 0x23e7d9ad CFRunLoopRunInMode
13 GraphicsServices 0x250f7af9 GSEventRunModal
14 UIKit 0x28169fb5 UIApplicationMain
15 MyApp 0x252d44 main (main.swift:12)
16 libdispatch.dylib 0x23b30873 (Missing)

A similar crashlog from my app as the following. From the thread name "com.apple.maps.geogl.renderQueue", I guess that is related with usage of the MapKit framework.
I found the "gpus_ReturnNotPermittedKillClient" in the Technical QA:
"How to fix OpenGL ES application crashes when moving to the background"
https://developer.apple.com/library/archive/qa/qa1766/_index.html
Crashed: com.apple.maps.geogl.renderQueue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000001
0 libGPUSupportMercury.dylib 0x190a45f08 gpus_ReturnNotPermittedKillClient
1 libGPUSupportMercury.dylib 0x190a46ec4 gpusSubmitDataBuffers
2 VectorKit 0x18c7d1a0c ___ZN3ggl10GLRenderer5frameEPNS_12RenderTargetEPNS_11RenderQueueE_block_invoke + 212
3 libdispatch.dylib 0x181ec94bc _dispatch_call_block_and_release + 24
4 libdispatch.dylib 0x181ec947c _dispatch_client_callout + 16
5 libdispatch.dylib 0x181ed54c0 _dispatch_queue_drain + 864
6 libdispatch.dylib 0x181eccf80 _dispatch_queue_invoke + 464
7 libdispatch.dylib 0x181ed7390 _dispatch_root_queue_drain + 728
8 libdispatch.dylib 0x181ed9934 _dispatch_worker_thread + 124
9 libsystem_pthread.dylib 0x1820e3b28 _pthread_body + 156
10 libsystem_pthread.dylib 0x1820e3a8c _pthread_body + 154
11 libsystem_pthread.dylib 0x1820e1028 thread_start + 4

Related

I am getting this crash, again and again from Crashlytics, but can't reproduce locally

Crashed: com.IPTV.TVLService.GuideProgramService
0 libobjc.A.dylib 0x182a05b90 objc_msgSend + 16
1 CoreFoundation 0x18326f654 CFBasicHashCreateCopy + 668
2 CoreFoundation 0x183291248 CFDictionaryCreateCopy + 148
3 CFNetwork 0x18396fa70 URLResponse::createArchiveList(__CFAllocator const*, long*, void const***, long*) + 228
4 CFNetwork 0x18396f764 URLResponse::copyPropertyList(__CFAllocator const*) + 68
5 CFNetwork 0x1839c1610 ___ZN12__CFURLCache23CreateAndStoreCacheNodeEP16__CFURLCacheNodePK20_CFCachedURLResponsePK10__CFStringPK13_CFURLRequestPKvbRb_block_invoke + 796
6 libdispatch.dylib 0x182dd94bc _dispatch_call_block_and_release + 24
7 libdispatch.dylib 0x182dd947c _dispatch_client_callout + 16
8 libdispatch.dylib 0x182de54c0 _dispatch_queue_drain + 864
9 libdispatch.dylib 0x182ddcf80 _dispatch_queue_invoke + 464
10 libdispatch.dylib 0x182de7390 _dispatch_root_queue_drain + 728
11 libdispatch.dylib 0x182de70b0 _dispatch_worker_thread3 + 112
12 libsystem_pthread.dylib 0x182ff1470 _pthread_wqthread + 1092
13 libsystem_pthread.dylib 0x182ff1020 start_wqthread + 4
I am new to iOS development.
How to understand what's causing issue? Please help me with any document or book that help me to learn solving this issues for future.
It seems like your app crashed in thread com.IPTV.TVLService.GuideProgramService and whether this thread is a custom thread or not?
Are you develop on tvOS?
There is something you should offer to make your question clear.

react native ios apps crash at _dispatch_barrier_sync_f_slow

My app have used React Native. Now have a crash as below
Thread 10 Crashed:
0 libdispatch.dylib _dispatch_barrier_sync_f_slow + 596
1 bee _GLOBAL__I_a + 27144
2 bee _GLOBAL__I_a + 29912
3 libsystem_blocks.dylib _Block_release + 144
4 libdispatch.dylib _dispatch_client_callout + 16
5 libdispatch.dylib _dispatch_queue_concurrent_drain + 1384
6 libdispatch.dylib _dispatch_queue_invoke + 660
7 libdispatch.dylib _dispatch_queue_override_invoke + 360
8 libdispatch.dylib _dispatch_root_queue_drain + 572
9 libdispatch.dylib _dispatch_worker_thread3 + 124
10 libsystem_pthread.dylib _pthread_wqthread + 1288
11 libsystem_pthread.dylib start_wqthread + 4
Any one have idea about this crash? I even don't know when and where happen this crash.

Iphone Debugging

I am getting the below error for swift app i made for IOS. I had setup notification using this example. How do I debug this and know what the issue is?
Crashed: com.apple.UNSNotificationRegistrarConnection
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000013000001328
Crashed: com.apple.UNSNotificationRegistrarConnection
0 libobjc.A.dylib 0x180cf9b9c objc_msgSend + 28
1 UserNotificationServices 0x183038b54 __destroy_helper_block_27 + 40
2 libsystem_blocks.dylib 0x1811298e8 _Block_release + 156
3 libdispatch.dylib 0x1810cd47c _dispatch_client_callout + 16
4 libdispatch.dylib 0x1810d94c0 _dispatch_queue_drain + 864
5 libdispatch.dylib 0x1810d0f80 _dispatch_queue_invoke + 464
6 libdispatch.dylib 0x1810cd47c _dispatch_client_callout + 16
7 libdispatch.dylib 0x1810db914 _dispatch_root_queue_drain + 2140
8 libdispatch.dylib 0x1810db0b0 _dispatch_worker_thread3 + 112
9 libsystem_pthread.dylib 0x1812e5470 _pthread_wqthread + 1092
10 libsystem_pthread.dylib 0x1812e5020 start_wqthread + 4

Coredata _clearRawPropertiesWithHint crash ios9

I have been stuck with this crash for few days and seem to be going nowhere.
Crashed: NSManagedObjectContext 0x14f016920
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000000000010
Thread : Crashed: NSManagedObjectContext 0x14f016920
0 libobjc.A.dylib 0x000000019953dbd0 objc_msgSend + 16
1 CoreFoundation 0x0000000184969c84 __CFBasicHashDrain + 276
2 CoreFoundation 0x0000000184814da4 CFRelease + 256
3 CoreData 0x0000000184632cf0 -[_NSFaultingMutableSet dealloc] + 68
4 CoreData 0x00000001845f8d3c -[_CDSnapshot dealloc] + 84
5 CoreData 0x00000001846068e0 -[NSManagedObject(_NSInternalMethods) _clearRawPropertiesWithHint:] + 388
6 CoreData 0x00000001846066bc -[NSFaultHandler turnObject:intoFaultWithContext:] + 448
7 CoreData 0x0000000184603e10 -[NSManagedObject dealloc] + 104
8 CoreData 0x0000000184603428 -[_PFManagedObjectReferenceQueue _processReferenceQueue:] + 1076
9 CoreData 0x0000000184681678 __89-[NSManagedObjectContext(_NSInternalNotificationHandling) _registerAyncReferenceCallback]_block_invoke + 104
10 CoreData 0x000000018467bc20 developerSubmittedBlockToNSManagedObjectContextPerform + 196
11 libdispatch.dylib 0x0000000199d25770 _dispatch_client_callout + 16
12 libdispatch.dylib 0x0000000199d3175c _dispatch_queue_drain + 864
13 libdispatch.dylib 0x0000000199d29274 _dispatch_queue_invoke + 464
14 libdispatch.dylib 0x0000000199d25770 _dispatch_client_callout + 16
15 libdispatch.dylib 0x0000000199d33bb0 _dispatch_root_queue_drain + 2140
16 libdispatch.dylib 0x0000000199d3334c _dispatch_worker_thread3 + 112
17 libsystem_pthread.dylib 0x0000000199f39478 _pthread_wqthread + 1092
Any pointers on how I can debug this crash? The same didn't crash in iOS 8. Could it be a iOS 9 crash and hopefully it will be fixed in the subsequent iOS versions?
Any help would be much appreciated.

Core Location crashes in iOS extension

I'm getting many crash reports from my iOS today extension in Crashlytics which I can't make any sense of. The extension retrieves the user's current location and saves it inside the app. The crashes look like this:
Thread : Crashed: com.apple.CoreLocation.ConnectionClient.0x174132fc0.events
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00000000f2cdbeb8
0 libobjc.A.dylib 0x0000000194d7fbd0 objc_msgSend + 16
1 CoreFoundation 0x00000001834823f8 CFDictionaryApplyFunction + 236
2 CoreLocation 0x0000000183d1c09c (null) + 54344
3 CoreLocation 0x0000000183d1adf0 (null) + 49564
4 libxpc.dylib 0x00000001955c4ccc _xpc_connection_call_event_handler + 68
5 libxpc.dylib 0x00000001955c8a18 do_mach_notify_port_destroyed + 124
6 libxpc.dylib 0x00000001955c8970 _Xmach_notify_port_destroyed + 96
Here is another one:
Thread : Crashed: com.apple.CoreLocation.ConnectionClient.0x1743221c0.events
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000000000008
0 CoreFoundation 0x0000000186678640 CFBasicHashGetBucket + 28
1 CoreFoundation 0x00000001866785c4 CFBasicHashApply + 100
2 CoreFoundation 0x00000001866785c4 CFBasicHashApply + 100
3 CoreFoundation 0x00000001866823d8 CFDictionaryApplyFunction + 204
4 CoreLocation 0x0000000186f1c09c (null) + 54344
5 CoreLocation 0x0000000186f1adf0 (null) + 49564
6 libxpc.dylib 0x0000000198814ccc _xpc_connection_call_event_handler + 68
7 libxpc.dylib 0x0000000198818a18 do_mach_notify_port_destroyed + 124
8 libxpc.dylib 0x0000000198818970 _Xmach_notify_port_destroyed + 96
9 libxpc.dylib 0x00000001988188e4 notify_server + 100
10 libxpc.dylib 0x0000000198812a98 _xpc_connection_mach_event + 1848
11 libdispatch.dylib 0x000000019860da28 _dispatch_client_callout4 + 16
12 libdispatch.dylib 0x0000000198611140 _dispatch_mach_msg_invoke + 492
13 libdispatch.dylib 0x00000001986182d4 _dispatch_queue_drain + 2008
14 libdispatch.dylib 0x0000000198610668 _dispatch_mach_invoke + 136
15 libdispatch.dylib 0x00000001986182d4 _dispatch_queue_drain + 2008
16 libdispatch.dylib 0x0000000198610a5c _dispatch_queue_invoke + 132
17 libdispatch.dylib 0x00000001986182d4 _dispatch_queue_drain + 2008
18 libdispatch.dylib 0x0000000198610a5c _dispatch_queue_invoke + 132
19 libdispatch.dylib 0x000000019861a318 _dispatch_root_queue_drain + 720
20 libdispatch.dylib 0x000000019861bc4c _dispatch_worker_thread3 + 108
21 libsystem_pthread.dylib 0x00000001987ed22c _pthread_wqthread + 816
As you can see none of my own classes is visible in the stack trace.
How can I debug this? Do these crashes appear to the user?
Thanks for your help!

Resources