OutOfMemoryError getTagOrCreateAndSetDefault() method

Issue #124 invalid
fillobotto created an issue

I encountered many crash report in GAnalytics occurring on some Android devices (also a Samsung S6 which is not supposed to have memory issues).

{main} java.lang.OutOfMemoryError: Failed to allocate a 8356575 byte allocation with 8029664 free bytes and 7MB until OOM at java.lang.Object.internalClone(Native Method) at java.lang.Object.clone(Object.java:172) at org.jaudiotagger.tag.datatype.AbstractDataType.<init>(AbstractDataType.java:162) at org.jaudiotagger.tag.datatype.ByteArraySizeTerminated.<init>(ByteArraySizeTerminated.java:42) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at org.jaudiotagger.tag.id3.ID3Tags.copyObject(ID3Tags.java:319) at org.jaudiotagger.tag.id3.AbstractTagFrameBody.<init>(AbstractTagFrameBody.java:115) at org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody.<init>(AbstractID3v2FrameBody.java:66) at org.jaudiotagger.tag.id3.framebody.FrameBodyAPIC.<init>(FrameBodyAPIC.java:106) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at org.jaudiotagger.tag.id3.ID3Tags.copyObject(ID3Tags.java:319) at org.jaudiotagger.tag.id3.ID3v24Frame.createV24FrameFromV23Frame(ID3v24Frame.java:150) at org.jaudiotagger.tag.id3.ID3v24Frame.<init>(ID3v24Frame.java:218) at org.jaudiotagger.tag.id3.ID3v24Tag.addFrame(ID3v24Tag.java:348) at org.jaudiotagger.tag.id3.AbstractID3v2Tag.copyFrames(AbstractID3v2Tag.java:226) at org.jaudiotagger.tag.id3.ID3v24Tag.<init>(ID3v24Tag.java:501) at org.jaudiotagger.audio.mp3.MP3File.setID3v2Tag(MP3File.java:813) at org.jaudiotagger.audio.mp3.MP3File.setTag(MP3File.java:1135) at org.jaudiotagger.audio.AudioFile.getTagOrCreateAndSetDefault(AudioFile.java:376)

I'm using a slightly edited 2.2.6 version, since I wanted to target older Android devices, I changed the StandardCharsets thing. On the code side I'm just creating a default tag if there isn't one already, nothing else. That's all I know, unfortunately I can't give any further information.

Comments (4)

  1. Log in to comment