firebase-android-sdk
firebase-android-sdk copied to clipboard
OOM error
Library:
com.google.firebase:firebase-crashlytics:18.6.4
Code where oom exception occurs:
Suggested fix: IOException -> Throwable
Crash log:
04-13 06:01:23.837 6120 6150 E AndroidRuntime: FATAL EXCEPTION: Crashlytics Exception Handler1 04-13 06:01:23.837 6120 6150 E AndroidRuntime: Process: com.ma.demo, PID: 6120 04-13 06:01:23.837 6120 6150 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 416 byte allocation with 51896 free bytes and 50KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC. 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Arrays.copyOf(Arrays.java:3766) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:137) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:77) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:485) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:167) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:77) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.print(Formatter.java:3013) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2983) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Formatter$FormatSpecifier.print(Formatter.java:2860) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2529) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2464) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.String.format(String.java:3644) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.metadata.QueueFileLogStore.doWriteToLog(QueueFileLogStore.java:169) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.metadata.QueueFileLogStore.writeToLog(QueueFileLogStore.java:53) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.metadata.LogFileManager.writeToLog(LogFileManager.java:64) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.common.CrashlyticsController$5.call(CrashlyticsController.java:419) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.common.CrashlyticsController$5.call(CrashlyticsController.java:415) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:105) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.android.gms.tasks.zzc.run(com.google.android.gms:play-services-tasks@@18.1.0:3) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) 04-13 06:01:23.837 6120 6150 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012)
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
Hey @tmxdyf, thanks for reporting this. We'll notify our engineers and see if we can add this fix.
Hi @tmxdyf! I believe the underlying issue here is that the device is OOM. Your recommended fix would shift the OOM from occurring here, but it would only delay the problem, and the OOM would happen anyway further down the process.