Skip to content
This repository has been archived by the owner on Sep 19, 2023. It is now read-only.

java.lang.OutOfMemoryError #91

Open
nordunit-dev opened this issue Jun 23, 2022 · 2 comments
Open

java.lang.OutOfMemoryError #91

nordunit-dev opened this issue Jun 23, 2022 · 2 comments

Comments

@nordunit-dev
Copy link

Unity version - 2020.3.26f1
EDM version - 1.2.170
Firebase Cloud Messaging - 8.9.0
Applovin MAX - 5.4.3
Yandex adapter for applovin - 4.5.0.3
target SDK version - 30

It appears that a lot of "OutOfMemoryError" Crashes are generated by com.yandex.metrica, but it isn't integrated into the project. Looks like it come with the Applovin yandex adapter. Crash Logs from the Google Play Console are below. Adapter 5.1.1.0 is available, but it doesn't allow to build with SDK 30, and unfortunately we can't use target SDK 31 for now.

Lenovo TAB4 8 Plus - Android 7.1 (SDK 25)
Samsung Galaxy M12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:125)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:54)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:46)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

POCO X3 Pro - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at java.util.Arrays.copyOf (Arrays.java:3257)
  at java.lang.AbstractStringBuilder.ensureCapacityInternal (AbstractStringBuilder.java:124)
  at java.lang.AbstractStringBuilder.append (AbstractStringBuilder.java:448)
  at java.lang.StringBuilder.append (StringBuilder.java:137)
  at org.json.JSONStringer.beforeValue (JSONStringer.java:425)
  at org.json.JSONStringer.value (JSONStringer.java:250)
  at org.json.JSONObject.writeTo (JSONObject.java:740)
  at org.json.JSONObject.toString (JSONObject.java:708)
  at com.yandex.metrica.impl.ob.m1.e (SourceFile:13)
  at com.yandex.metrica.impl.ob.m1.d (SourceFile:1)
  at com.yandex.metrica.impl.ob.qf.a (SourceFile:78)
  at com.yandex.metrica.impl.ob.ub.b (SourceFile:13)
  at com.yandex.metrica.impl.ob.ub.a (SourceFile:10)
  at com.yandex.metrica.impl.ob.ub.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.ec.a (SourceFile:16)
  at com.yandex.metrica.impl.ob.ec.d (SourceFile:16)
  at com.yandex.metrica.impl.ob.ec.c (SourceFile:1)
  at com.yandex.metrica.impl.ob.b8.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.la.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.o9$a.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.o9$a.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.h9.a (SourceFile:7)
  at com.yandex.metrica.impl.ob.o9.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.k7.a (SourceFile:12)
  at com.yandex.metrica.impl.ob.y7.a (SourceFile:11)
  at com.yandex.metrica.impl.ob.u8.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.h8.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.p4.run (SourceFile:24)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:210)
  at android.os.Looper.loop (Looper.java:299)
  at android.os.HandlerThread.run (HandlerThread.java:67)

POCO X3 Pro - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at libcore.util.CharsetUtils.toUtf8Bytes (Native Method)
  at java.lang.String.getBytes (String.java:946)
  at java.lang.String.getBytes (String.java:914)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:16)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:8)
  at com.yandex.metrica.impl.ob.wt.a (SourceFile:4)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:20)
  at com.yandex.metrica.impl.ob.b.b (SourceFile:10)
  at com.yandex.metrica.impl.ob.tt.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.e.b (SourceFile:8)
  at com.yandex.metrica.impl.ob.e.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:70)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:210)
  at android.os.Looper.loop (Looper.java:299)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at com.yandex.metrica.impl.ob.e.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:70)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Lenovo TAB4 8 Plus - Android 7.1 (SDK 25)

java.lang.OutOfMemoryError: 
  at java.lang.StringFactory.newStringFromChars (StringFactory.java:218)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:203)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:53)
  at java.lang.StringFactory.newStringFromBytes (StringFactory.java:45)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  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.os.HandlerThread.run (HandlerThread.java:61)

Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)
Samsung Galaxy A12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at java.lang.Integer.parseInt (Integer.java:615)
  at java.lang.Integer.parseInt (Integer.java:650)
  at android.content.res.ResourcesImpl.getIdentifier (ResourcesImpl.java:282)
  at android.content.res.Resources.getIdentifier (Resources.java:2275)
  at com.yandex.metrica.impl.ob.w4.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.c2.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.n0.a (SourceFile:23)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:3)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

realme 9 Pro+ - Android 12 (SDK 31)
Samsung Galaxy M12 - Android 11 (SDK 30)

java.lang.OutOfMemoryError: 
  at com.yandex.metrica.impl.ob.ee.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.de.a (SourceFile:5)
  at com.yandex.metrica.impl.ob.ge.a (SourceFile:6)
  at com.yandex.metrica.impl.ob.ge.a (SourceFile:2)
  at com.yandex.metrica.impl.ob.he.a (SourceFile:4)
  at com.yandex.metrica.impl.ob.he.b (SourceFile:1)
  at com.yandex.metrica.impl.ob.zd.a (SourceFile:1)
  at com.yandex.metrica.impl.ob.ce.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:69)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.os.HandlerThread.run (HandlerThread.java:67)

Samsung Galaxy M12 - Android 11 (SDK 30)
Samsung Galaxy S20 FE 5G - Android 12 (SDK 31)

java.lang.OutOfMemoryError: 
  at android.util.Base64.encode (Base64.java:536)
  at android.util.Base64.encode (Base64.java:496)
  at com.yandex.metrica.impl.ob.j1.a (SourceFile:3)
  at com.yandex.metrica.impl.ob.u0.a (SourceFile:20)
  at com.yandex.metrica.impl.ob.u0.<init> (SourceFile:95)
  at com.yandex.metrica.impl.ob.b2.b (SourceFile:6)
  at com.yandex.metrica.impl.ob.u4.a (SourceFile:74)
  at com.yandex.metrica.impl.ob.n0.reportError (SourceFile:4)
  at com.yandex.metrica.impl.ob.uu$f.run (SourceFile:1)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.os.HandlerThread.run (HandlerThread.java:67)
@ghost
Copy link

ghost commented Jun 28, 2022

Thank you for your report!
Yeah, you right. I see that Yandex adapter for applovin has a dependency on AppMetrica: https://mvnrepository.com/artifact/com.applovin.mediation/yandex-adapter/4.5.0.3
It is possible to update AppMetrica without updating adapter itself. But first we want ask you to help us to find problems with Appmetrics in your current setup. The version you are using
We see a lot of different OutOfMemory errors generated by AppMetrica code in your report. And we can see some possible patterns in those errors, but it could be related to the way how adapters use Appmetrics, because we do not have reports about similar problems. Anyway, we will double check it on our side.
Those errors as we see from these reports happen in different parts of the library. It could be a signal that there some leaks in any other part of the application. Do you see other OutOfMemoryError generated by other libraries or other parts of your application?

@ghost
Copy link

ghost commented Oct 11, 2022 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant