yandexmobile / metrica-sdk-android

AppMetrica is a free real-time ad tracking and mobile app analytics solution.
https://tech.yandex.com/metrica-mobile-sdk/
20 stars 3 forks source link

java.lang.OutOfMemoryError #91

Open nordunit-dev opened 2 years ago

nordunit-dev commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

Добрый день!Ваше письмо получено и зарегистрировано под уникальным номером № 17939271. Ответ обязательно будет предоставлен, пожалуйста, ожидайте.Просим Вас не отправлять повторное письмо по данному вопросу - оно будет считаться новой заявкой и может быть обработано позднее.Помощь сервиса: https://yandex.ru/support/direct/?from=email--С уважением,Отдел клиентского сервисател.: 8 800 234-24-80 (звонок из регионов России бесплатный)тел.: +7 495 739-37-77&nbsp23.06.2022, 15:52, "Nord Unit" @.***>: 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. (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. (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. (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)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>