iOS10 MediaLibrary crash

  1. As iOS10 released,we found there is a kind of crash appeared on our app. And the number of this crash increased very fast. It's about 2000 times crash a day on a 1.1 million DAU app. it's critical enough number.
  2. If anyone know how to fix this, please help to find out conditions why it's happening.
  3. crash Info is :
  4. Thread 38 Crashed:
  5. 0 vImage 0x000000018580d360 __ERROR_Buffer_Read__Too_Small_For_Arguments_To_vImage__CheckBacktrace :56 (in vImage)
  6. 1 vImage 0x00000001858a29d0 _vImageConvert_AnyToAny :968 (in vImage)
  7. 2 ImageIO 0x0000000186555068 __ZN25IIOImagePixelDataProvider12convertBytesEP13vImage_BufferS1_ :40 (in ImageIO)
  8. 3 ImageIO 0x00000001865557c0 __ZN25IIOImagePixelDataProvider21getBytesImageProviderEPvm :1152 (in ImageIO)
  9. 4 ImageIO 0x00000001864a036c __ZN20AppleJPEGWritePlugin8writeOneEP25IIOImagePixelDataProviderPK14__CFDictionary :1640 (in ImageIO)
  10. 5 ImageIO 0x00000001864a06a8 __ZN20AppleJPEGWritePlugin8writeAllEv :480 (in ImageIO)
  11. 6 ImageIO 0x00000001864a08a8 __ZN20AppleJPEGWritePlugin9WriteProcEPvPK14__CFDictionaryPK9__CFArrayS6_ :84 (in ImageIO)
  12. 7 ImageIO 0x0000000186437f08 __ZN19IIOImageDestination8finalizeEv :800 (in ImageIO)
  13. 8 ImageIO 0x0000000186439028 _CGImageDestinationFinalize :76 (in ImageIO)
  14. 9 UIKit 0x000000018a7a0084 __UIImageJPEGRepresentation :660 (in UIKit)
  15. 10 MediaPlayer 0x000000018ef9a90c ____MPToMRNowPlayingInfoDictionary_block_invoke :220 (in MediaPlayer)
  16. 11 CoreFoundation 0x00000001845d2d0c ___65-[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:]_block_invoke :88 (in CoreFoundation)
  17. 12 CoreFoundation 0x00000001845c118c -[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:] :224 (in CoreFoundation)
  18. 13 MediaPlayer 0x000000018ef98cc4 -[MPNowPlayingInfoCenter _pushNowPlayingInfoAndRetry:] :476 (in MediaPlayer)
  19. 14 libdispatch.dylib 0x0000000183515200 __dispatch_call_block_and_release :24 (in libdispatch.dylib)
  20. 15 libdispatch.dylib 0x00000001835151c0 __dispatch_client_callout :16 (in libdispatch.dylib)
  21. 16 libdispatch.dylib 0x0000000183523444 __dispatch_queue_serial_drain :928 (in libdispatch.dylib)
  22. 17 libdispatch.dylib 0x00000001835189a8 __dispatch_queue_invoke :652 (in libdispatch.dylib)
  23. 18 libdispatch.dylib 0x0000000183523940 __dispatch_queue_override_invoke :360 (in libdispatch.dylib)
  24. 19 libdispatch.dylib 0x000000018352538c __dispatch_root_queue_drain :572 (in libdispatch.dylib)
  25. 20 libdispatch.dylib 0x00000001835250ec __dispatch_worker_thread3 :124 (in libdispatch.dylib)
  26. 21 libsystem_pthread.dylib 0x000000018371d2c8 __pthread_wqthread :1288 (in libsystem_pthread.dylib)
  27. 22 libsystem_pthread.dylib 0x000000018371cdb4 _start_wqthread :4 (in libsystem_pthread.dylib)

Replies

  1. There is the same crash on our app. And I reported the bug to apple, but on useful response.
  2. Thread 2 Crashed:
  3. 0 vImage 0x0000000186605360 __ERROR_Buffer_Read__Too_Small_For_Arguments_To_vImage__CheckBacktrace :56 (in vImage)
  4. 1 vImage 0x000000018669a9d0 _vImageConvert_AnyToAny :968 (in vImage)
  5. 2 ImageIO 0x000000018734d068 __ZN25IIOImagePixelDataProvider12convertBytesEP13vImage_BufferS1_ :40 (in ImageIO)
  6. 3 ImageIO 0x000000018734d7c0 __ZN25IIOImagePixelDataProvider21getBytesImageProviderEPvm :1152 (in ImageIO)
  7. 4 ImageIO 0x000000018729836c __ZN20AppleJPEGWritePlugin8writeOneEP25IIOImagePixelDataProviderPK14__CFDictionary :1640 (in ImageIO)
  8. 5 ImageIO 0x00000001872986a8 __ZN20AppleJPEGWritePlugin8writeAllEv :480 (in ImageIO)
  9. 6 ImageIO 0x00000001872988a8 __ZN20AppleJPEGWritePlugin9WriteProcEPvPK14__CFDictionaryPK9__CFArrayS6_ :84 (in ImageIO)
  10. 7 ImageIO 0x000000018722ff08 __ZN19IIOImageDestination8finalizeEv :800 (in ImageIO)
  11. 8 ImageIO 0x0000000187231028 _CGImageDestinationFinalize :76 (in ImageIO)
  12. 9 UIKit 0x000000018b598e94 0x000000018b2bd000 + 2997908
  13. 10 MediaPlayer 0x000000018fd9390c ____MPToMRNowPlayingInfoDictionary_block_invoke :220 (in MediaPlayer)
  14. 11 CoreFoundation 0x00000001853cad0c ___65-[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:]_block_invoke :88 (in CoreFoundation)
  15. 12 CoreFoundation 0x00000001853b918c -[__NSDictionaryI enumerateKeysAndObjectsWithOptions:usingBlock:] :224 (in CoreFoundation)
  16. 13 MediaPlayer 0x000000018fd91cc4 -[MPNowPlayingInfoCenter _pushNowPlayingInfoAndRetry:] :476 (in MediaPlayer)
  17. 14 libdispatch.dylib 0x000000018430d200 __dispatch_call_block_and_release :24 (in libdispatch.dylib)
  18. 15 libdispatch.dylib 0x000000018430d1c0 __dispatch_client_callout :16 (in libdispatch.dylib)
  19. 16 libdispatch.dylib 0x000000018431b444 __dispatch_queue_serial_drain :928 (in libdispatch.dylib)
  20. 17 libdispatch.dylib 0x00000001843109a8 __dispatch_queue_invoke :652 (in libdispatch.dylib)
  21. 18 libdispatch.dylib 0x000000018431b940 __dispatch_queue_override_invoke :360 (in libdispatch.dylib)
  22. 19 libdispatch.dylib 0x000000018431d38c __dispatch_root_queue_drain :572 (in libdispatch.dylib)
  23. 20 libdispatch.dylib 0x000000018431d0ec __dispatch_worker_thread3 :124 (in libdispatch.dylib)
  24. 21 libsystem_pthread.dylib 0x00000001845152c8 __pthread_wqthread :1288 (in libsystem_pthread.dylib)
  25. 22 libsystem_pthread.dylib 0x0000000184514db4 _start_wqthread :4 (in libsystem_pthread.dylib)
  26. Binary Images:
  27. 0x000000018430c000 - 0x000000018433bfff libdispatch.dylib arm64 <9da4900c6d953655bbfcc6b31c990e9c> /usr/lib/system/libdispatch.dylib
  28. 0x0000000184514000 - 0x000000018451dfff libsystem_pthread.dylib arm64   /usr/lib/system/libsystem_pthread.dylib
  29. 0x0000000185355000 - 0x00000001856d8fff CoreFoundation arm64   /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
  30. 0x000000018651f000 - 0x00000001867c1fff vImage arm64   /System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage
  31. 0x00000001870fc000 - 0x000000018768bfff ImageIO arm64 <0cc6da0a6265372190bd34b428c02a9f> /System/Library/Frameworks/ImageIO.framework/ImageIO
  32. 0x000000018b2bd000 - 0x000000018c04afff UIKit arm64 <439dc80bfac033ed983e5bb8c416c452> /System/Library/Frameworks/UIKit.framework/UIKit
  33. 0x000000018fbeb000 - 0x000000018ff58fff MediaPlayer arm64 <8501ad4857f03a21b8fd1df63838b889> /System/Library/Frameworks/MediaPlayer.framework/Media

Hi.

Have you managed to find a solution or at least a cause of the crash?

I have the same issue in my application and having a hard time reproducing it in the lab.

Thanks