flutter_image_compress icon indicating copy to clipboard operation
flutter_image_compress copied to clipboard

Corrupted image crash the app

Open nruotsal opened this issue 5 years ago • 0 comments

Hi!

Reading image with flutter_image_compress plugin crash the app if the file is corrupted. It would be better if plugin could handle file read failures gracefully without crashing unexpectedly.

java.lang.Error: java.io.IOException: read failed: EIO (I/O error)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1173)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.io.IOException: read failed: EIO (I/O error)
        at libcore.io.IoBridge.read(IoBridge.java:523)
        at java.io.FileInputStream.read(FileInputStream.java:313)
        at kotlin.io.FilesKt__FileReadWriteKt.readBytes(FileReadWrite.kt:70)
        at com.example.flutterimagecompress.core.CompressFileHandler$handleGetFile$1.run(CompressFileHandler.kt:85)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
     Caused by: android.system.ErrnoException: read failed: EIO (I/O error)
        at libcore.io.Linux.readBytes(Native Method)
        at libcore.io.Linux.read(Linux.java:190)
        at libcore.io.ForwardingOs.read(ForwardingOs.java:177)
        at libcore.io.BlockGuardOs.read(BlockGuardOs.java:303)
        at libcore.io.ForwardingOs.read(ForwardingOs.java:177)
        at libcore.io.IoBridge.read(IoBridge.java:513)
        at java.io.FileInputStream.read(FileInputStream.java:313) 
        at kotlin.io.FilesKt__FileReadWriteKt.readBytes(FileReadWrite.kt:70) 
        at com.example.flutterimagecompress.core.CompressFileHandler$handleGetFile$1.run(CompressFileHandler.kt:85) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919)
`

nruotsal avatar Mar 09 '20 13:03 nruotsal