java.util.ConcurrentModificationException у діяльності onCreate


48

У недавньому випуску, де я додав MoPub через рекламне посередництво Admob, я бачу купу журналів аварійних збоїв. Це, здається, є нативним кодом, і я переживаю останню версію всіх пов’язаних з рекламою та пов’язаних з google / android бібліотек. Хтось раніше до цього наштовхувався?

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3121)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3264)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1955)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7078)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:964)
Caused by: java.util.ConcurrentModificationException: 
  at androidx.c.g.put (SimpleArrayMap.java:482)
  at com.google.android.gms.measurement.internal.hs.a
  at com.google.android.gms.measurement.internal.hi.onActivityCreated
  at android.app.Application.dispatchActivityCreated (Application.java:245)
  at android.app.Activity.onCreate (Activity.java:1108)
  at androidx.core.app.e.onCreate (ComponentActivity.java:81)
  at androidx.activity.b.onCreate (ComponentActivity.java:149)
  at androidx.fragment.app.c.onCreate (FragmentActivity.java:313)
  at androidx.appcompat.app.e.onCreate (AppCompatActivity.java:106)
  at com.teamtol.livedota.BaseActivity.onCreate (BaseActivity.java:21)
  at com.teamtol.livedota.RecentGameActivity.onCreate (RecentGameActivity.java:70)
  at android.app.Activity.performCreate (Activity.java:7327)
  at android.app.Activity.performCreate (Activity.java:7318)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1275)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3101)

Ось як виглядає код до рядка 21 BaseActivity:

protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        super.onCreate(savedInstanceState);

Ось так виглядає код до рядка 70 RecentGameActivity

public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

1
Ми виявили одну і ту ж проблему на кількох телефонах до Android 9. Чи використовуєте ви Firebase Analytics? Якщо так, то яка версія?
Фарасій

З тією ж проблемою, коли я покращив залежності.
Tearsdontfalls

1
@Farasy Так, я бачу це дуже багато і на Android 9, хоча декілька користувачів в інших версіях. Я використовую Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mbrust

у когось є ідея чи сценарій для створення цього збою?
Бхавен Шах

Відповіді:


22

У нашому випадку ми бачимо лише аварію з

com.google.firebase:firebase-analytics:17.2.2 

повернення до 17.2.1 виправило проблему

Це також трапляється, якщо ви використовуєте firebase-core: 17.2.2, оскільки firebase-analytics є тією ж бібліотекою, що ребрендована. Враховуйте, що згідно з офіційними документами поточне використання ядра firebase застаріло -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions


повернення аналітики firebase до 17.2.1 виправило нашу проблему. Дякую!
Jaydipsinh Zala

Повернення аналітики firebase до 17.2.1 не вирішило для нас проблеми. Ми 17.2.1деякий час користуємось і не бачили цих збоїв. Сумніваюся, що збій взагалі пов'язаний з firebase-analyticsбібліотекою.
Мануель

1
Дякую за голову вгору Я щойно випустив версію з 17.2.1.
Оновиться,

Виправлення: ми повернули аналітику firebase до 17.2.1, але ядро ​​Firebase залишилось незмінним в 17.2.2 і все ще отримували збої. Тоді ми випустили версію з core, також повернуту до 17.2.1, і жодних збоїв поки що немає. (Я не впевнений, що ядро ​​Firebase все ще потрібне?)
Мануель,

@ PabloA.Martínez Добре, що ми не побачили жодних збоїв 17.2.1 після повернення як основних, так і аналітичних бібліотек. Чи знаєте ви, з якого часу ядро ​​версії застаріло? Я не міг знайти посилання на це.
Мануель

20

Поверніть свою основну бібліотеку Firebase до:

implementation 'com.google.firebase:firebase-core:17.1.0'

Я бачив цю аварію як на v17.2.1, так і на v17.2.2, але з моменту повернення до 17.1.0 все було добре.

Повідомляю про помилку тут: https://firebase.google.com/support/troubleshooter/report/bugs

Оновлення

Дякую @ Sébastien, повернення до v17.2.0 також має працювати:

implementation 'com.google.firebase:firebase-core:17.2.0'

2
У примітках до випуску Firebase ( firebase.google.com/support/release-notes/android ) вони говорять про заміну ядра firebase на firebase-analytics або бібліотеки, які ми використовуємо. Ви спробували це рішення?
Аделіно

2
Я думаю, обидва майже однакові, крім назви. Ми знайшли цю проблему під час оновлення з com.google.firebase: firebase-analytics: 17.1.0 до 17.2.2
Farasy

@Farasy дякую за відповідь, я поверну залежність: |
Аделіно

1
Дякую @Jim. Будь ласка, повідомте нас про це. Здається, що com.google.firebase:firebase-core:17.2.0також звільнена від помилки.
Себастьян

1
Версія 17.2.1 також працює, ми ніколи не спостерігали збоїв у цій версії, лише після оновлення до 17.2.2.
Мануель


6

Ми визначили проблему та працюємо над виправленням наступного випуску SDK.


Ми стикаємося з тим же питанням. Будь ласка, повідомте нас про прогрес у вирішенні цього питання.
Qbit

3
це зафіксовано 17.2.3?
neobie

2
@Qbit це зафіксовано 17.2.3. firebase.google.com/support/release-notes/…
Синан Джейлан

Виявив цю проблему знову на "com.google.firebase: firebase-analytics: 17.4.0".
Іван

Джон - у вас є стек стеження для цього явища?
Ерік Берлі

0

Нещодавно ми стикалися з подібною проблемою. Помилка в адаптері оголошень Unity для посередництва Admob.

Ось наш файл build.gradle:

implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.google.ads.mediation:unity:3.4.2.1'
implementation 'com.google.ads.mediation:vungle:6.5.3.0'
implementation 'com.google.ads.mediation:chartboost:7.5.0.0'
implementation 'com.google.ads.mediation:mytarget:5.6.3.0'
implementation 'com.yandex.android:mobmetricalib:3.13.1'
implementation 'com.yandex.android:mobileads:2.142'
implementation 'com.yandex.ads.adapter:admob-mobileads:0.3.0'

implementation 'com.google.android.gms:play-services-games:19.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'

implementation 'com.google.firebase:firebase-analytics:17.3.0'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

implementation 'com.google.android.play:core:1.7.2'
implementation 'androidx.multidex:multidex:2.0.1'

Помилка в консолі Google Play:

java.util.ConcurrentModificationException: 
  at java.util.HashMap$HashIterator.nextNode (HashMap.java:1453)
  at java.util.HashMap$EntryIterator.next (HashMap.java:1487)
  at java.util.HashMap$EntryIterator.next (HashMap.java:1485)
  at com.google.ads.mediation.unity.UnitySingleton$UnitySingletonListener.onUnityAdsError (UnitySingleton.java:227)
  at com.unity3d.services.ads.configuration.AdsModuleConfiguration$3.run (AdsModuleConfiguration.java:92)
  at android.os.Handler.handleCallback (Handler.java:888)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loop (Looper.java:213)
  at android.app.ActivityThread.main (ActivityThread.java:8178)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)

Ця проблема знову пов’язана з вогневою базою?

ОНОВЛЕННЯ

Схоже, проблема цього разу полягає в адаптері UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.