Assigned
Status Update
Comments
ib...@google.com <ib...@google.com> #2
Can you please add some information about what this bug is about. I'm going to close it otherwise as it is not actionable for us.
eu...@gmail.com <eu...@gmail.com> #3
Also chiming in with a similar OOM error on 1.3.6 (though the stack trace is slightly different):
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 327680016 byte allocation with 96065256 free bytes and 91MB until OOM, target footprint 268435456, growth limit 268435456
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.skip(BufferedInputStream.java:382)
at java.io.FilterInputStream.skip(FilterInputStream.java:150)
at androidx.exifinterface.media.ExifInterface$ByteOrderedDataInputStream.skipFully(ExifInterface.java:7874)
at androidx.exifinterface.media.ExifInterface$SeekableByteOrderedDataInputStream.seek(ExifInterface.java:7719)
at androidx.exifinterface.media.ExifInterface.readImageFileDirectory(ExifInterface.java:6899)
at androidx.exifinterface.media.ExifInterface.getRawAttributes(ExifInterface.java:5714)
at androidx.exifinterface.media.ExifInterface.loadAttributes(ExifInterface.java:4601)
at androidx.exifinterface.media.ExifInterface.<init>(ExifInterface.java:4056)
at androidx.exifinterface.media.ExifInterface.<init>(ExifInterface.java:4011)
at com.litesplash.picmapper.LoadPhotosTask.doInBackground(LoadPhotosTask.java:61)
This is on a Pixel 6 Pro running Android 13. In my case, the offending file is a DNG exported from Adobe Lightroom which admittedly is pretty large (237 MB). Attached below
ib...@google.com <ib...@google.com> #4
re
Description
Version used: 1.3.3
Devices/Android versions reproduced on: android 12
crash stack: why it should allocate 805306384 byte array? is jepg has invalid exif ?
java.lang.OutOfMemoryError: Failed to allocate a 805306384 byte allocation with 17117847 free bytes and 495MB until OOM, target footprint 34235695, growth limit 536870912
1
androidx.exifinterface.media.ExifInterface.void readImageFileDirectory(androidx.exifinterface.media.ExifInterface$SeekableByteOrderedDataInputStream,int)(ExifInterface.java:6956)
2
androidx.exifinterface.media.ExifInterface.void readImageFileDirectory(androidx.exifinterface.media.ExifInterface$SeekableByteOrderedDataInputStream,int)(ExifInterface.java:6997)
3
androidx.exifinterface.media.ExifInterface.void readImageFileDirectory(androidx.exifinterface.media.ExifInterface$SeekableByteOrderedDataInputStream,int)(ExifInterface.java:6938)
4
androidx.exifinterface.media.ExifInterface.void readExifSegment(byte[],int)(ExifInterface.java:6721)
5
androidx.exifinterface.media.ExifInterface.void getJpegAttributes(androidx.exifinterface.media.ExifInterface$ByteOrderedDataInputStream,int,int)(ExifInterface.java:5640)
6
androidx.exifinterface.media.ExifInterface.void loadAttributes(java.io.InputStream)(ExifInterface.java:4607)
7
androidx.exifinterface.media.ExifInterface.void initForFilename(java.lang.String)(ExifInterface.java:5295)
8
androidx.exifinterface.media.ExifInterface.void <init>(java.io.File)(ExifInterface.java:3937)
9
com.tencent.phoenix.utils.MediaUtils.double[] queryLocationOfImage(java.lang.String)(MediaUtils.java:22)