ImageIO Crash - ERROR_ImageIO_SourceBufferRangeIsNotReadable

Originator:felipekellermann
Number:rdar://37978446 Date Originated:February 28 2018
Status:Open Resolved:
Product:iOS + SDK Product Version:iOS 11.2 (15C114)
Classification:Other Bug Reproducible:
 
Area:
Image I/O

Summary:
I've reported in rdar://35399602 some crashes observed in Image I/O that appeared in iOS 11.X. After 11.2.X it appeared to have been fixed. I've noticed though that the backtrace have changed. Our customers that upgraded to 11.2.X are experiencing fewer of those crashes but we still have some.

Steps to Reproduce:
Attached the crash reports.

Expected Results:
Attached the crash reports.

Actual Results:
Crash in ImageIO ERROR_ImageIO_SourceBufferRangeIsNotReadable. Here is part of the crash report, full backtraces attached.

Crashed: com.apple.main-thread
0  ImageIO                        0x182f22adc ERROR_ImageIO_SourceBufferRangeIsNotReadable(unsigned char*) + 12
1  ImageIO                        0x182f22a58 IIOImageRead::getCFDataBytesAtOffset(void*, unsigned long, unsigned long) + 260
2  ImageIO                        0x182f2257c IIOImageRead::getBytesAtOffset(void*, unsigned long, unsigned long) + 348
3  ImageIO                        0x182e409b4 IIOImageReadSession::getBytes(void*, unsigned long) + 32
4  ImageIO                        0x182dac06c read_fn(png_struct_def*, unsigned char*, unsigned long) + 44
5  ImageIO                        0x182f5bbd8 png_read_sig + 72
6  ImageIO                        0x182fa6cdc _cg_png_read_info + 56
7  ImageIO                        0x182db026c PNGReadPlugin::copyImageBlockSet(InfoRec*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 1744
8  ImageIO                        0x182dae6b8 PNGReadPlugin::CopyImageBlockSetProc(void*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 192
9  ImageIO                        0x182db891c IIOImageProviderInfo::copyImageBlockSetWithOptions(CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 632
10 ImageIO                        0x182db6168 IIOImageProviderInfo::CopyImageBlockSetWithOptions(void*, CGImageProvider*, CGRect, CGSize, __CFDictionary const*) + 596
11 CoreGraphics                   0x18265427c CGImageProviderCopyImageBlockSet + 220
12 CoreGraphics                   0x1827c3424 img_blocks_create + 316
13 CoreGraphics                   0x1827c3768 img_blocks_extent + 100
14 CoreGraphics                   0x1827c7d20 img_interpolate_extent + 152
15 CoreGraphics                   0x1827cc0d4 img_data_lock + 6928
16 CoreGraphics                   0x1827ca56c CGSImageDataLock + 184
17 CoreGraphics                   0x1825ea628 ripc_AcquireRIPImageData + 308
18 CoreGraphics                   0x1827df1b0 ripc_DrawImage + 644
19 CoreGraphics                   0x1827cefac CGContextDrawImageWithOptions + 632
20 UIKit                          0x18a431fac -[UIImage drawInRect:blendMode:alpha:] + 1816
21 UIKit                          0x18aadbd48 -[UIGraphicsRenderer runDrawingActions:completionActions:format:error:] + 452

Version/Build:
iOS 11.2.0-11.2.6

Configuration:


https://www.dropbox.com/s/77aisa4bzu2det8/Radar-37978446.zip?dl=0

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!