DKImagePickerController: Infinite loop in DKImageManager.fetchImageDataForAsset
I am experiencing an infinite loop sometimes when running DKImageManager.fetchImageDataForAsset. On line 137 the method calls itself resulting in a loop and eventually crash.
Here’s a part of (since it repeats itself) my stack trace:
...
1373 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1374 DKImagePickerController 0x100b1d6f8 specialized DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift:136)
1375 DKImagePickerController 0x100b1ad70 DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1376 DKImagePickerController 0x100b1cdbc partial apply for DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1377 DKImagePickerController 0x100b1af04 thunk (DKImageManager.swift)
1378 Photos 0x1902dfff8 __65-[PHImageManager requestImageDataForAsset:options:resultHandler:]_block_invoke + 384
1379 Photos 0x1902cce74 -[PHCoreImageManager _fetchAnySizeImageAsNon5551BytesWithRequest:library:format:bestFormat:optimalSourcePixelSize:sync:fireAndForgetCPLDownload:completionHandler:] + 4984
1380 Photos 0x1902d5ca8 -[PHCoreImageManager _processImageRequest:sync:] + 3356
1381 Photos 0x1902da620 -[PHImageManager requestSynchronousImageForAsset:targetSize:contentMode:options:completionHandler:] + 352
1382 Photos 0x1902dfc78 -[PHImageManager requestImageDataForAsset:options:resultHandler:] + 368
1383 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1384 DKImagePickerController 0x100b1d6f8 specialized DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift:136)
1385 DKImagePickerController 0x100b1ad70 DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1386 DKImagePickerController 0x100b1cdbc partial apply for DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1387 DKImagePickerController 0x100b1af04 thunk (DKImageManager.swift)
1388 Photos 0x1902dfff8 __65-[PHImageManager requestImageDataForAsset:options:resultHandler:]_block_invoke + 384
1389 Photos 0x1902cce74 -[PHCoreImageManager _fetchAnySizeImageAsNon5551BytesWithRequest:library:format:bestFormat:optimalSourcePixelSize:sync:fireAndForgetCPLDownload:completionHandler:] + 4984
1390 Photos 0x1902d5ca8 -[PHCoreImageManager _processImageRequest:sync:] + 3356
1391 Photos 0x1902da620 -[PHImageManager requestSynchronousImageForAsset:targetSize:contentMode:options:completionHandler:] + 352
1392 Photos 0x1902dfc78 -[PHImageManager requestImageDataForAsset:options:resultHandler:] + 368
1393 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1394 DKImagePickerController 0x100b1d6f8 specialized DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift:136)
1395 DKImagePickerController 0x100b1ad70 DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1396 DKImagePickerController 0x100b1cdbc partial apply for DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1397 DKImagePickerController 0x100b1af04 thunk (DKImageManager.swift)
1398 Photos 0x1902dfff8 __65-[PHImageManager requestImageDataForAsset:options:resultHandler:]_block_invoke + 384
1399 Photos 0x1902cce74 -[PHCoreImageManager _fetchAnySizeImageAsNon5551BytesWithRequest:library:format:bestFormat:optimalSourcePixelSize:sync:fireAndForgetCPLDownload:completionHandler:] + 4984
1400 Photos 0x1902d5ca8 -[PHCoreImageManager _processImageRequest:sync:] + 3356
1401 Photos 0x1902da620 -[PHImageManager requestSynchronousImageForAsset:targetSize:contentMode:options:completionHandler:] + 352
1402 Photos 0x1902dfc78 -[PHImageManager requestImageDataForAsset:options:resultHandler:] + 368
1403 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1404 DKImagePickerController 0x100b1d6f8 specialized DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift:136)
1405 DKImagePickerController 0x100b1ad70 DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1406 DKImagePickerController 0x100b1cdbc partial apply for DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1407 DKImagePickerController 0x100b1af04 thunk (DKImageManager.swift)
1408 Photos 0x1902dfff8 __65-[PHImageManager requestImageDataForAsset:options:resultHandler:]_block_invoke + 384
1409 Photos 0x1902cce74 -[PHCoreImageManager _fetchAnySizeImageAsNon5551BytesWithRequest:library:format:bestFormat:optimalSourcePixelSize:sync:fireAndForgetCPLDownload:completionHandler:] + 4984
1410 Photos 0x1902d5ca8 -[PHCoreImageManager _processImageRequest:sync:] + 3356
1411 Photos 0x1902da620 -[PHImageManager requestSynchronousImageForAsset:targetSize:contentMode:options:completionHandler:] + 352
1412 Photos 0x1902dfc78 -[PHImageManager requestImageDataForAsset:options:resultHandler:] + 368
1413 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1414 DKImagePickerController 0x100b1d6f8 specialized DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift:136)
1415 DKImagePickerController 0x100b1ad70 DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1416 DKImagePickerController 0x100b1cdbc partial apply for DKImageManager.(fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> ()).(closure #1) (DKImageManager.swift)
1417 DKImagePickerController 0x100b1af04 thunk (DKImageManager.swift)
1418 Photos 0x1902dfff8 __65-[PHImageManager requestImageDataForAsset:options:resultHandler:]_block_invoke + 384
1419 Photos 0x1902cce74 -[PHCoreImageManager _fetchAnySizeImageAsNon5551BytesWithRequest:library:format:bestFormat:optimalSourcePixelSize:sync:fireAndForgetCPLDownload:completionHandler:] + 4984
1420 Photos 0x1902d5ca8 -[PHCoreImageManager _processImageRequest:sync:] + 3356
1421 Photos 0x1902da620 -[PHImageManager requestSynchronousImageForAsset:targetSize:contentMode:options:completionHandler:] + 352
1422 Photos 0x1902dfc78 -[PHImageManager requestImageDataForAsset:options:resultHandler:] + 368
1423 DKImagePickerController 0x100b1c210 specialized DKImageManager.fetchImageDataForAsset(DKAsset, options : PHImageRequestOptions?, completeBlock : (Data?, [AnyHashable : Any]?) -> ()) -> () (DKImageManager.swift:141)
1424 DKImagePickerController 0x100aea604 specialized DKAsset.fetchOriginalImage(Bool, completeBlock : (UIImage?, [AnyHashable : Any]?) -> ()) -> () + 264
1425 DKImagePickerController 0x100ae7094 DKAsset.fetchOriginalImage(Bool, completeBlock : (UIImage?, [AnyHashable : Any]?) -> ()) -> () (DKAsset.swift)
1426 MyApp 0x1000eee78 specialized GalleryManagerCollectionViewController.(showUploadPopup() -> ()).(closure #2).(closure #1).(closure #1).(closure #1) (GalleryManagerCollectionViewController.swift:237)
1427 MyApp 0x1000efb98 partial apply for GalleryManagerCollectionViewController.(showUploadPopup() -> ()).(closure #2).(closure #1).(closure #1).(closure #1) (GalleryManagerCollectionViewController.swift)
1428 libdispatch.dylib 0x1833ee9e0 _dispatch_call_block_and_release + 24
1429 libdispatch.dylib 0x1833ee9a0 _dispatch_client_callout + 16
1430 libdispatch.dylib 0x1833fb604 _dispatch_continuation_pop + 448
1431 libdispatch.dylib 0x1833fb338 _dispatch_async_redirect_invoke + 608
1432 libdispatch.dylib 0x1833fea50 _dispatch_root_queue_drain + 540
1433 libdispatch.dylib 0x1833fe7d0 _dispatch_worker_thread3 + 124
1434 libsystem_pthread.dylib 0x1835f7100 _pthread_wqthread + 1096
1435 libsystem_pthread.dylib 0x1835f6cac start_wqthread + 4
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 15 (11 by maintainers)
Thanks!