YYImage
YYImage copied to clipboard
some time times crashed when decode image.
please refer attach log
0 libsystem_platform.dylib 0x0000000180e1e2a0 _platform_memmove + 176 1 CoreGraphics 0x0000000182565244 CGBlt_copyBytes + 384 2 CoreGraphics 0x0000000182565244 CGBlt_copyBytes + 384 3 CoreGraphics 0x00000001826496e4 _argb32_image + 3504 4 CoreGraphics 0x00000001826d6e9c _ripl_Mark + 32 5 CoreGraphics 0x00000001826d3aa4 _RIPLayerBltImage + 972 6 CoreGraphics 0x0000000182632998 _ripc_DrawImage + 768 7 CoreGraphics 0x00000001826236c4 CGContextDrawImageWithOptions + 456 8 testApp 0x000000010031fda4 YYCGImageCreateDecodedCopy (YYImageCoder.m:890) 9 testApp 0x0000000100323230 -YYImageDecoder _newUnblendedImageAtIndex:extendToCanvas:decoded: 10 testApp 0x0000000100321a88 -YYImageDecoder _frameAtIndex:decodeForDisplay: 11 testApp 0x0000000100321670 -YYImageDecoder frameAtIndex:decodeForDisplay: 12 testApp 0x000000010031f0ac -YYImage initWithData:scale: 13 testApp 0x00000001001e2d1c __50-[YYWebImageOperation connectionDidFinishLoading:]_block_invoke (YYWebImageOperation.m:657)
Seems that it's a crash in CoreGraphics, but I'm not sure.
Can you provide the image data?
sorry, I cannot get the image data. it sent from my customer, he do't get know which image cause this. I will add more log to test it.
I got a breakpoint at CGImageSourceCopyPropertiesAtIndex
the frame is blow:
* thread #26: tid = 0xcd209, 0x000000018009a7d4 libc++abi.dylib`__cxa_throw, queue = 'com.ibireme.image.decode', stop reason = breakpoint 1.1
frame #0: 0x000000018009a7d4 libc++abi.dylib`__cxa_throw
frame #1: 0x00000001826c1280 ImageIO`ExpatAdapter::ParseBuffer(void const*, unsigned long, bool) + 108
frame #2: 0x00000001826d2284 ImageIO`ProcessUTF8Portion(XMLParserAdapter*, unsigned char const*, unsigned long, bool) + 304
frame #3: 0x00000001826d0ce0 ImageIO`XMPMeta::ParseFromBuffer(char const*, unsigned int, unsigned int) + 528
frame #4: 0x00000001826c7e5c ImageIO`WXMPMeta_ParseFromBuffer_1 + 80
frame #5: 0x0000000182686134 ImageIO`TXMPMeta<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::ParseFromBuffer(char const*, unsigned int, unsigned int) + 28
frame #6: 0x00000001826860dc ImageIO`TXMPMeta<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TXMPMeta(char const*, unsigned int) + 72
frame #7: 0x0000000182682e9c ImageIO`CreateMetadataFromXMPBufferInternal(char const*, unsigned long, char const*, unsigned long, unsigned int) + 136
frame #8: 0x00000001825959a8 ImageIO`initImageAppleJPEG + 5200
frame #9: 0x000000018259a86c ImageIO`_CGImagePluginInitAppleJPEG + 80
frame #10: 0x00000001824bb094 ImageIO`makeImagePlus + 1252
frame #11: 0x00000001824c4804 ImageIO`_CGImageSourceGetPropertiesAtIndexInternal + 68
frame #12: 0x00000001824c475c ImageIO`CGImageSourceCopyPropertiesAtIndex + 156
* frame #13: 0x0000000101743018 YYImage`-[YYImageDecoder _updateSourceImageIO](self=0x000000015e680580, _cmd="_updateSourceImageIO") + 1336 at YYImageCoder.m:2001
frame #14: 0x0000000101741970 YYImage`-[YYImageDecoder _updateSource](self=0x000000015e680580, _cmd="_updateSource") + 160 at YYImageCoder.m:1738
frame #15: 0x0000000101740d18 YYImage`-[YYImageDecoder _updateData:final:](self=0x000000015e680580, _cmd="_updateData:final:", data=843749 bytes, final=YES) + 540 at YYImageCoder.m:1624
frame #16: 0x000000010174074c YYImage`-[YYImageDecoder updateData:final:](self=0x000000015e680580, _cmd="updateData:final:", data=843749 bytes, final=YES) + 128 at YYImageCoder.m:1566
frame #17: 0x000000010174040c YYImage`+[YYImageDecoder decoderWithData:scale:](self=YYImageDecoder, _cmd="decoderWithData:scale:", data=843749 bytes, scale=2) + 172 at YYImageCoder.m:1539
frame #18: 0x000000010173bea8 YYImage`-[YYImage initWithData:scale:](self=0x000000015e618340, _cmd="initWithData:scale:", data=843749 bytes, scale=2) + 288 at YYImage.m:149
frame #19: 0x00000001017f8918 YYWebImage`-[YYImageCache imageFromData:](self=0x000000015e67c9e0, _cmd="imageFromData:", data=843749 bytes) + 392 at YYImageCache.m:66
frame #20: 0x00000001017fa450 YYWebImage`-[YYImageCache getImageForKey:withType:](self=0x000000015e67c9e0, _cmd="getImageForKey:withType:", key=@"http://ww3.sinaimg.cn/large/006y8mN6gw1f7bjbg5094j30sg0hswiy.jpg", type=YYImageCacheTypeDisk) + 328 at YYImageCache.m:197
frame #21: 0x00000001017fef28 YYWebImage`__38-[YYWebImageOperation _startOperation]_block_invoke(.block_descriptor=<unavailable>) + 192 at YYWebImageOperation.m:337
frame #22: 0x0000000101859a7c libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #23: 0x0000000101859a3c libdispatch.dylib`_dispatch_client_callout + 16
frame #24: 0x0000000101866554 libdispatch.dylib`_dispatch_queue_drain + 1036
frame #25: 0x000000010185d72c libdispatch.dylib`_dispatch_queue_invoke + 464
frame #26: 0x000000010186866c libdispatch.dylib`_dispatch_root_queue_drain + 760
frame #27: 0x0000000101868364 libdispatch.dylib`_dispatch_worker_thread3 + 132
frame #28: 0x00000001806a5470 libsystem_pthread.dylib`_pthread_wqthread + 1092
frame #29: 0x00000001806a5020 libsystem_pthread.dylib`start_wqthread + 4
related image url:
http://ww3.sinaimg.cn/large/006y8mN6gw1f7bjbg5094j30sg0hswiy.jpg
@urmyfaith CGImageSourceCopyPropertiesAtIndex 有解决吗