mbxmapkit
mbxmapkit copied to clipboard
random crashes coming from MBXMapKit/VectorKit
Hi,
I know this lib is not maintained anymore, but just in case you have any ideas... I'm getting various random crashes from MBXMapKit and VectorKit. They don't happen often, but I've seen them happen a few times. I also have a lot of reports in Crashlytics, because if you have a couple thousand of users, that adds up (20-something reports from the last version of the app).
I'm using MBXMapKit v. 0.7 there, installed via CocoaPods.
Here are the stack traces:
0 libobjc.A.dylib 0x0000000196163bd0 objc_msgSend + 16
1 VectorKit 0x0000000192bb9c54 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 60
2 VectorKit 0x000000019286434c -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 76
3 VectorKit 0x00000001928642d8 -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 96
4 VectorKit 0x0000000192bb9bb0 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 180
0 VectorKit 0x0000000193505844 std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<VKTileKey, void const*>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<VKTileKey, void const*>, std::__1::__unordered_map_hasher<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, hashkey, true>, std::__1::__unordered_map_equal<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, eqkey, true>, std::__1::allocator<std::__1::__hash_value_type<VKTileKey, void const*> > >::find<VKTileKey>(VKTileKey const&) + 96
1 VectorKit 0x00000001932eec44 -[VKTileKeyMap objectForKey:] + 28
2 VectorKit 0x00000001932f0cb0 -[VKTilePool objectForKey:] + 156
3 VectorKit 0x00000001932fb264 -[VKTile setPool:] + 76
4 VectorKit 0x0000000193303a18 -[VKTile dealloc] + 40
5 VectorKit 0x000000019339de7c -[VKGGLRasterOverlayTile dealloc] + 104
6 VectorKit 0x0000000193675718 __40-[VKRasterOverlayTileSource _queueDraw:]_block_invoke + 616
0 VectorKit 0x00000001924a1878 std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<VKTileKey, void const*>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<VKTileKey, void const*>, std::__1::__unordered_map_hasher<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, hashkey, true>, std::__1::__unordered_map_equal<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, eqkey, true>, std::__1::allocator<std::__1::__hash_value_type<VKTileKey, void const*> > >::find<VKTileKey>(VKTileKey const&) + 148
1 VectorKit 0x000000019228acec -[VKTileKeyMap setObject:forKey:] + 140
2 VectorKit 0x00000001922971d8 -[VKTilePool setObject:forKey:] + 160
3 VectorKit 0x00000001926117c4 __40-[VKRasterOverlayTileSource _queueDraw:]_block_invoke_2 + 112
0 VectorKit 0x33f35a26 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 37
1 VectorKit 0x33f35a27 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 38
2 VectorKit 0x33c324a3 -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 54
3 VectorKit 0x33c32455 -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 76
4 VectorKit 0x33f359ab __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 178
0 libobjc.A.dylib 0x30e77f66 objc_msgSend + 5
1 VectorKit 0x2e337a27 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 38
2 VectorKit 0x2e0344a3 -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 54
3 VectorKit 0x2e034455 -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 76
4 VectorKit 0x2e3379ab __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 178
0 VectorKit 0x0000000194707064 -[VKTileKeyMap removeObjectForKey:] + 148
1 VectorKit 0x000000019472c8e4 -[VKTilePool removeObjectForKey:] + 148
2 VectorKit 0x0000000194707284 -[VKTile setPool:] + 108
3 VectorKit 0x000000019470fa18 -[VKTile dealloc] + 40
4 VectorKit 0x00000001947a9e7c -[VKGGLRasterOverlayTile dealloc] + 104
5 VectorKit 0x0000000194a81718 __40-[VKRasterOverlayTileSource _queueDraw:]_block_invoke + 616
0 libsystem_kernel.dylib 0x000000019863b270 __pthread_kill + 8
1 libsystem_pthread.dylib 0x00000001986d9170 pthread_kill + 112
2 libsystem_c.dylib 0x00000001985b2b18 abort + 112
3 libsystem_malloc.dylib 0x00000001986763e4 _nano_malloc_check_clear + 318
4 libsystem_malloc.dylib 0x0000000198676550 _nano_malloc_check_clear + 364
5 libsystem_malloc.dylib 0x0000000198675064 nano_malloc + 44
6 libsystem_malloc.dylib 0x00000001986653e4 malloc_zone_malloc + 116
7 libsystem_malloc.dylib 0x0000000198669a04 malloc + 56
8 libsystem_blocks.dylib 0x000000019854d6d8 _Block_copy_internal + 288
9 libsystem_blocks.dylib 0x000000019854dc1c _Block_object_assign + 356
10 libsystem_blocks.dylib 0x000000019854d738 _Block_copy_internal + 384
11 CFNetwork 0x0000000186955b40 URLConnectionInstanceData::withWorkQueueAsync(void () block_pointer) const + 56
12 CFNetwork 0x00000001868777b8 ClassicURLConnection::setDelegateScheduling(CoreSchedulingSet const*) + 200
13 CFNetwork 0x00000001868f2bf4 ClassicURLConnection::setDelegateDispatchQueue(dispatch_queue_s*) + 52
14 CFNetwork 0x00000001868f8be0 CFURLConnectionSetDelegateDispatchQueue + 68
15 CFNetwork 0x00000001868de56c SyncClient::SyncClient(__CFAllocator const*, _CFURLRequest const*, dispatch_queue_s*, void (__CFData const*, _CFURLResponse*, __CFError*) block_pointer) + 248
16 CFNetwork 0x00000001868de0dc CFURLConnectionSendAsynchronousRequest + 76
17 CFNetwork 0x00000001868fe9e0 +[NSURLConnection sendAsynchronousRequest:queue:completionHandler:] + 152
18 Zoomer 0x000000010016f3c8 -[MBXRasterTileOverlay asyncLoadURL:workerBlock:completionHandler:] (MBXRasterTileOverlay.m:649)
19 Zoomer 0x000000010016d658 -[MBXRasterTileOverlay loadTileAtPath:result:] (MBXRasterTileOverlay.m:338)
20 Zoomer 0x0000000100171810 -[MBXRasterTileRenderer canDrawMapRect:zoomScale:] (MBXRasterTileRenderer.m:210)
21 MapKit 0x000000018906ca20 __40-[MKOverlayRenderer overlay:canDrawKey:]_block_invoke + 228
22 MapKit 0x000000018906ce18 _worldsForBounds19393 + 72
23 MapKit 0x000000018906c8e0 -[MKOverlayRenderer overlay:canDrawKey:] + 188
24 VectorKit 0x0000000194a5d7c0 __40-[VKRasterOverlayTileSource _queueDraw:]_block_invoke + 360
(cc @shedd)
Having the same issues, haven't found anything yet on our side. Haven't been able to replicate consistently, but I personally have noticed that these crashes only seem to happen when our app is in the background and left for a while (if someone is tracking a long route, for example).
Any help would be much appreciated
Here are our crash reports
Thread : Crashed: com.apple.vectorkit.dispatch.layoutqueue.0x17022b6c0
0 VectorKit 0x0000000192691844 std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<VKTileKey, void const*>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<VKTileKey, void const*>, std::__1::__unordered_map_hasher<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, hashkey, true>, std::__1::__unordered_map_equal<VKTileKey, std::__1::__hash_value_type<VKTileKey, void const*>, eqkey, true>, std::__1::allocator<std::__1::__hash_value_type<VKTileKey, void const*> > >::find<VKTileKey>(VKTileKey const&) + 96
1 VectorKit 0x000000019247ac44 -[VKTileKeyMap objectForKey:] + 28
2 VectorKit 0x000000019247ccb0 -[VKTilePool objectForKey:] + 156
3 VectorKit 0x0000000192487264 -[VKTile setPool:] + 76
4 VectorKit 0x000000019248fa18 -[VKTile dealloc] + 40
5 VectorKit 0x0000000192529e7c -[VKGGLRasterOverlayTile dealloc] + 104
6 CoreFoundation 0x0000000183fcd0f8 CFRelease + 524
7 CoreFoundation 0x0000000183feb904 -[__NSSetM removeAllObjects] + 156
8 VectorKit 0x0000000192485458 -[VKMapTileModel updateTilesInScene:withContext:categorize:] + 244
9 VectorKit 0x0000000192802e40 -[VKRasterOverlayMapModel gglLayoutScene:withContext:renderQueue:] + 312
10 VectorKit 0x00000001924fe19c __78-[VKModelObject gglLayoutSceneIfNeeded:withContext:renderQueue:dispatchQueue:]_block_invoke + 88
11 libdispatch.dylib 0x0000000196439994 _dispatch_call_block_and_release + 24
12 libdispatch.dylib 0x0000000196439954 _dispatch_client_callout + 16
13 libdispatch.dylib 0x00000001964440a4 _dispatch_queue_drain + 1448
14 libdispatch.dylib 0x000000019643ca5c _dispatch_queue_invoke + 132
15 libdispatch.dylib 0x0000000196446318 _dispatch_root_queue_drain + 720
16 libdispatch.dylib 0x0000000196445f80 _dispatch_worker_thread + 124
17 libsystem_pthread.dylib 0x000000019661bdb8 _pthread_body + 164
18 libsystem_pthread.dylib 0x000000019661bd14 _pthread_body + 158
19 libsystem_pthread.dylib 0x0000000196618ee8 thread_start + 4
and
Thread : Crashed: com.apple.main-thread
0 VectorKit 0x0000000190184338 -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 56
1 VectorKit 0x00000001901842d8 -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 96
2 VectorKit 0x00000001904d9bb0 __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 180
3 libdispatch.dylib 0x0000000194111994 _dispatch_call_block_and_release + 24
4 libdispatch.dylib 0x0000000194111954 _dispatch_client_callout + 16
5 libdispatch.dylib 0x000000019411620c _dispatch_main_queue_callback_4CF + 1608
6 CoreFoundation 0x0000000181d7f544 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
7 CoreFoundation 0x0000000181d7d5ec __CFRunLoopRun + 1492
8 CoreFoundation 0x0000000181ca8f74 CFRunLoopRunSpecific + 396
9 GraphicsServices 0x000000018b7036fc GSEventRunModal + 168
10 UIKit 0x00000001868aad94 UIApplicationMain + 1488
11 avatech 0x000000010011bdc4 main (main.m:15)
12 libdyld.dylib 0x000000019413ea08 start + 4