Open HiveHicks opened 6 years ago
Видим в Crashlytics от 1 до 10 крэшей в день.
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000013372ab0 Crashed: NSOperationQueue 0x134000610 (QOS: UNSPECIFIED) 0 libobjc.A.dylib 0x18039c1a0 objc_retain + 16 1 CoreFoundation 0x181138328 +[__NSDictionaryI __new::::::] + 384 2 CoreFoundation 0x18100b53c -[NSDictionary initWithObjectsAndKeys:] + 556 3 YandexMapKit 0x105ecab30 -[YMJamStylesFetchOperation buildRequest] + 296 4 YandexMapKit 0x105eca708 -[YMJamStylesFetchOperation main] + 44 5 Foundation 0x181a414c4 -[__NSOperationInternal _start:] + 848 6 Foundation 0x181b13894 __NSOQSchedule_f + 404 7 libdispatch.dylib 0x180ab6a14 _dispatch_client_callout + 16 8 libdispatch.dylib 0x180abef08 _dispatch_continuation_pop$VARIANT$mp + 428 9 libdispatch.dylib 0x180abd80c _dispatch_async_redirect_invoke$VARIANT$mp + 604 10 libdispatch.dylib 0x180ac3cf4 _dispatch_root_queue_drain + 600 11 libdispatch.dylib 0x180ac3a38 _dispatch_worker_thread3 + 120 12 libsystem_pthread.dylib 0x180d5f06c _pthread_wqthread + 1268 13 libsystem_pthread.dylib 0x180d5eb6c start_wqthread + 4
В это же время в другом потоке:
#7. NSOperationQueue 0x133693960 (QOS: UNSPECIFIED) 0 libsystem_malloc.dylib 0x180c81adc malloc_zone_malloc 1 libsystem_malloc.dylib 0x180c84540 malloc + 32 2 libsystem_c.dylib 0x180b5a844 _vasprintf + 144 3 libsystem_c.dylib 0x180b5a778 asprintf + 76 4 ImageIO 0x1831f2a84 IIOImageRead::getCFDataBytesAtOffset(void*, unsigned long, unsigned long) + 304 5 ImageIO 0x1831f257c IIOImageRead::getBytesAtOffset(void*, unsigned long, unsigned long) + 348 6 ImageIO 0x1831109b4 IIOImageReadSession::getBytes(void*, unsigned long) + 32 7 ImageIO 0x18307c06c read_fn(png_struct_def*, unsigned char*, unsigned long) + 44 8 ImageIO 0x18322bda0 png_crc_read + 48 9 ImageIO 0x18322c314 png_handle_PLTE + 352 10 ImageIO 0x183277164 _cg_png_read_info + 1216 11 ImageIO 0x18307d228 PNGReadPlugin::init() + 1100 12 ImageIO 0x183081a7c PNGReadPlugin::InitWithOffset(CGImagePlugin*, unsigned long, unsigned long, unsigned long) + 164 13 ImageIO 0x183060af8 IIOImageSource::makeImagePlus(unsigned long, IIODictionary*) + 628 14 ImageIO 0x183060384 IIOImageSource::createImageAtIndex(unsigned long, IIODictionary*) + 64 15 ImageIO 0x1830646e4 CGImageSourceCreateImageAtIndex + 248 16 UIKit 0x18a8252b0 _UIImageRefFromData + 420 17 UIKit 0x18a996608 -[UIImage(UIImagePrivate) _initWithData:preserveScale:cache:] + 124 18 UIKit 0x18a8250d8 +[UIImage imageWithData:] + 72 19 YandexMapKit 0x105f42cdc YMKTileDecoder::decodeObjCTileFromLayerData(TileLayer, unsigned char const*, unsigned long) + 112 20 YandexMapKit 0x105f42de8 YMKTileDecoder::decodeTileFromLayerData(TileLayer, unsigned char const*, unsigned long) + 88 21 YandexMapKit 0x105ebdef4 SimpleTileManager::copySuccessfulResultToOriginalRequest(yboost::shared_ptr<RequestState> const&) + 160 22 YandexMapKit 0x105ebe44c SimpleTileManager::diskRequestsUpdated(yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&) + 1220 23 YandexMapKit 0x105ebf238 void yboost::callback<void (*)(yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&)>::func_converter<&(SimpleTileManager::diskRequestsUpdated(yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&))>(void*, yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&) + 64 24 YandexMapKit 0x105efff84 yboost::callback<void (*)(yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&)>::operator()(yboost::shared_ptr<SimpleTileManager>, std::vector<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > >, std::allocator<yboost::shared_ptr<AbstractTileRequest<MapTile, InternalLoadingResultCode, yboost::shared_ptr<InternalLoadingResult> > > > > const&) + 76 25 YandexMapKit 0x105f442bc YMKDiskTileSource::handleReadyRequest(yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >) + 196 26 YandexMapKit 0x105f443a8 void yboost::callback<void (*)(yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >)>::func_converter<&(YMKDiskTileSource::handleReadyRequest(yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >))>(void*, yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >) + 96 27 YandexMapKit 0x105ed26c8 yboost::callback<void (*)(yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >)>::operator()(yboost::shared_ptr<YMKDiskTileSource>, yboost::shared_ptr<DiskReadRequest<YMKDiskTileSource> >) + 108 28 YandexMapKit 0x105ed251c DiskReadRequest<YMKDiskTileSource>::finish() + 108 29 YandexMapKit 0x105ed229c DiskReadRequest<YMKDiskTileSource>::main() + 1320 30 YandexMapKit 0x105ed1cb4 -[YMKAsyncPerformer performReadRequest:] + 80 31 Foundation 0x181b372e4 __NSThreadPerformPerform + 340 32 CoreFoundation 0x1810e297c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 33 CoreFoundation 0x1810e28fc __CFRunLoopDoSource0 + 88 34 CoreFoundation 0x1810e2184 __CFRunLoopDoSources0 + 204 35 CoreFoundation 0x1810dfd5c __CFRunLoopRun + 1048 36 CoreFoundation 0x180fffe58 CFRunLoopRunSpecific + 436 37 Foundation 0x181a35594 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 38 Foundation 0x181a549ac -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 39 YandexMapKit 0x105f80714 -[YFHTTPLoadingOperation main] + 328 40 Foundation 0x181a414c4 -[__NSOperationInternal _start:] + 848 41 Foundation 0x181b13894 __NSOQSchedule_f + 404 42 libdispatch.dylib 0x180ab6a14 _dispatch_client_callout + 16 43 libdispatch.dylib 0x180abef08 _dispatch_continuation_pop$VARIANT$mp + 428 44 libdispatch.dylib 0x180abd8c0 _dispatch_async_redirect_invoke$VARIANT$mp + 784 45 libdispatch.dylib 0x180ac3cf4 _dispatch_root_queue_drain + 600 46 libdispatch.dylib 0x180ac3a38 _dispatch_worker_thread3 + 120 47 libsystem_pthread.dylib 0x180d5f06c _pthread_wqthread + 1268 48 libsystem_pthread.dylib 0x180d5eb6c start_wqthread + 4
Видим в Crashlytics от 1 до 10 крэшей в день.
В это же время в другом потоке: