SDWebImageSwiftUI icon indicating copy to clipboard operation
SDWebImageSwiftUI copied to clipboard

[Crash] SDImageCoderHelper CGImageCreateDecoded:orientation

Open Patczuk opened this issue 3 months ago • 2 comments

Sigsegv.+[SDImageCoderHelper CGImageCreateDecoded:orientation:] (SDImageCoderHelper.m:426) Crash due to signal: SIGSEGV(SEGV_MAPERR) at 00000000 (Could not access memory: Attempted to reference a deallocated object at 00000000)

0 libsystem_platform.dylib _platform_memmove + 76
1 ImageIO std::__1::__shared_ptr_emplace<GIFBufferInfo, std::__1::allocator<GIFBufferInfo> >::__shared_ptr_emplace<unsigned char*&, bool, unsigned int&, unsigned int&, unsigned int>(std::__1::allocator<GIFBufferInfo>, unsigned char*&, bool&&, unsigned int&, unsigned int&, unsigned int&&) + 75
2 ImageIO std::__1::shared_ptr<GIFBufferInfo> std::__1::allocate_shared<GIFBufferInfo, std::__1::allocator<GIFBufferInfo>, unsigned char*&, bool, unsigned int&, unsigned int&, unsigned int, void>(std::__1::allocator<GIFBufferInfo> const&, unsigned char*&, bool&&, unsigned int&, unsigned int&, unsigned int&&) + 87
3 ImageIO GIFReadPlugin::copyImageBlockSet(InfoRec*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 799
4 ImageIO IIO_Reader::CopyImageBlockSetProc(void*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 279
5 ImageIO IIOImageProviderInfo::copyImageBlockSetWithOptions(CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 743
6 ImageIO IIOImageProviderInfo::CopyImageBlockSetWithOptions(void*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 835
7 CoreGraphics img_blocks_create + 247
8 CoreGraphics img_data_lock + 1683
9 CoreGraphics CGSImageDataLock + 1319
10 CoreGraphics ripc_AcquireRIPImageData + 727
11 CoreGraphics ripc_DrawImage + 803
12 CoreGraphics CGContextDrawImageWithOptions + 1379
13 +[SDImageCoderHelper CGImageCreateDecoded:orientation:] (SDImageCoderHelper.m:426)
14 +[SDImageIOAnimatedCoder createFrameAtIndex:source:scale:preserveAspectRatio:thumbnailSize:lazyDecode:animatedImage:] (SDImageIOAnimatedCoder.m:502)
15 -[SDImageIOAnimatedCoder safeAnimatedImageFrameAtIndex:] (SDImageIOAnimatedCoder.m:1081)
16 -[SDImageIOAnimatedCoder animatedImageFrameAtIndex:] (SDImageIOAnimatedCoder.m:1075)
17 -[SDAnimatedImage animatedImageFrameAtIndex:] (SDAnimatedImage.m:295)
18 __41-[SDImageFramePool prefetchFrameAtIndex:]_block_invoke (SDImageFramePool.m:118)
19 Foundation NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 23
20 Foundation -[NSBlockOperation main] + 103
21 Foundation NSOPERATION_IS_INVOKING_MAIN + 15
22 Foundation -[NSOperation start] + 707
23 Foundation NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 15
24 Foundation __NSOQSchedule_f + 171
25 libdispatch.dylib _dispatch_block_async_invoke2 + 147
26 libdispatch.dylib _dispatch_client_callout + 19
27 libdispatch.dylib _dispatch_continuation_pop + 503
28 libdispatch.dylib _dispatch_async_redirect_invoke + 735
29 libdispatch.dylib _dispatch_root_queue_drain + 395
30 libdispatch.dylib _dispatch_worker_thread2 + 163
31 libsystem_pthread.dylib _pthread_wqthread + 227
32 libsystem_pthread.dylib start_wqthread + 7

Patczuk avatar Mar 18 '24 14:03 Patczuk

Seems OOM issue ?

Can not get any useful information from stacktrace. This API just use the code from Apple example to re-draw CGImage

dreampiggy avatar Mar 19 '24 09:03 dreampiggy

Provide a reproduce demo if you can reproduce this locally

dreampiggy avatar Mar 19 '24 09:03 dreampiggy