A lot of OutOfMemoryError from Samsung Galaxy devices on Android 7.x

Viewed 3981

I have an active app on Google Play Store. Since a few months I'm getting a lot of weird crash reports on Play Console.

Since I can't paste all the data here (there are A LOT of crash reports) I'm trying to show a good summary. Detailed info on request.

Mostly affected devices:

  • Samsung Galaxy A5 2016 (a5xelte)
  • Samsung Galaxy S5 (klte)
  • Samsung Galaxy A5(2017) (a5y17lte)
  • Samsung Galaxy Note3 (hlte)
  • Samsung Galaxy S5 Neo (s5neolte)
  • Samsung Galaxy S6 (zeroflte)

ND: The first device is very critical compared to the others

Types of crashes:

  • java.lang.RuntimeException in android.app.ActivityThread.performLaunchActivity
  • java.lang.OutOfMemoryError in java.lang.StringFactory.newStringFromBytes
  • java.lang.OutOfMemoryError in libcore.util.CharsetUtils.toUtf8Bytes
  • java.lang.OutOfMemoryError in java.lang.StringFactory.newStringFromChars
  • java.lang.OutOfMemoryError in java.lang.StringBuilder.toString
  • java.lang.OutOfMemoryError in java.lang.StringFactory.newStringFromChars

Android versions: 7.0, 7.1 and rarely 6.0

I don't know why this is happening on these devices, I don't know how to debug these reports and I didn't find anything similar on StackOverflow or any other sources. Any help?


EDIT, some stacktraces:

Samsung Galaxy A5(2016) (a5xelte), 2048MB RAM, Android 7.0

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2984)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3045)
  at android.app.ActivityThread.-wrap14 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1642)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1496)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)

Samsung Galaxy S6 Edge (zerolte), 3072MB RAM, Android 7.0

java.lang.OutOfMemoryError: 
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:185)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:63)
  at android.util.Base64.encodeToString (Base64.java:456)
  at org.chromium.android_webview.AwContents.loadDataWithBaseURL (AwContents.java:428)
  at com.android.webview.chromium.WebViewChromium.loadDataWithBaseURL (WebViewChromium.java:188)
  at android.webkit.WebView.loadDataWithBaseURL (WebView.java:1015)
  at com.google.android.gms.ads.internal.webview.p.loadDataWithBaseURL (p.java:131)
  at com.google.android.gms.ads.internal.webview.o.loadDataWithBaseURL (o.java:104)
  at com.google.android.gms.ads.internal.renderer.i.a (i.java:8)
  at com.google.android.gms.ads.internal.renderer.a.c (a.java:35)
  at com.google.android.gms.ads.internal.renderer.g.a (g.java:11)
  at com.google.android.gms.ads.internal.zzk.run (zzk.java:28)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6682)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

Samsung Galaxy A5(2016) (a5xelte), 2048MB RAM, Android 7.0

java.lang.OutOfMemoryError: 
  at libcore.util.CharsetUtils.toUtf8Bytes (CharsetUtils.java)
  at java.lang.String.getBytes (String.java:879)
  at java.lang.String.getBytes (String.java:851)
  at org.chromium.android_webview.AwContents.loadDataWithBaseURL (AwContents.java:428)
  at com.android.webview.chromium.WebViewChromium.loadDataWithBaseURL (WebViewChromium.java:188)
  at android.webkit.WebView.loadDataWithBaseURL (WebView.java:1015)
  at com.google.android.gms.ads.internal.webview.p.loadDataWithBaseURL (p.java:131)
  at com.google.android.gms.ads.internal.webview.o.loadDataWithBaseURL (o.java:104)
  at com.google.android.gms.ads.internal.renderer.i.a (i.java:8)
  at com.google.android.gms.ads.internal.renderer.a.c (a.java:35)
  at com.google.android.gms.ads.internal.renderer.g.a (g.java:11)
  at com.google.android.gms.ads.internal.zzk.run (zzk.java:28)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1496)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)

EDIT 2: I updated the dependencies of firebase-ads but I'm having still the same crashes. Plus, I had a new crash type in this version:

Samsung Galaxy A5(2016) (a5xelte), 2048MB RAM, Android 7.0

java.lang.InternalError: 
  at java.lang.Thread.nativeCreate (Thread.java)
  at java.lang.Thread.start (Thread.java:731)
  at java.util.concurrent.ThreadPoolExecutor.addWorker (ThreadPoolExecutor.java:941)
  at java.util.concurrent.ThreadPoolExecutor.processWorkerExit (ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1151)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
  at java.lang.Thread.run (Thread.java:762)
2 Answers
Related