mbxmapkit icon indicating copy to clipboard operation
mbxmapkit copied to clipboard

random crashes coming from MBXMapKit/VectorKit

Open mackuba opened this issue 10 years ago • 1 comments

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)

mackuba avatar Aug 31 '15 12:08 mackuba

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

momoprobs avatar Sep 01 '15 21:09 momoprobs