java.util.ConcurrentModificationException dalam aktivitas onCreate

48

Dalam rilis baru-baru ini di mana saya menambahkan MoPub melalui mediasi iklan Admob, saya melihat banyak ConcurrentModificationException di log kerusakan. Itu semua tampaknya kode asli dan saya di versi terbaru dari semua perpustakaan terkait iklan dan google / android. Adakah yang pernah mengalami ini sebelumnya?

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)

Ini adalah kode yang terlihat seperti hingga baris 21 dari BaseActivity:

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

Ini adalah kode yang terlihat hingga baris 70 dari RecentGameActivity

public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
mburst
sumber
1
Kami menemukan masalah yang sama di beberapa ponsel hingga Android 9. Apakah Anda menggunakan Firebase Analytics? Jika ya, versi apa?
Farasy
Memiliki masalah yang sama setelah saya memutakhirkan dependensi.
Tearsdontfalls
1
@ Farasy Ya saya banyak melihatnya di Android 9, meskipun beberapa pengguna di versi lain. Saya menggunakan Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mburst
Adakah yang punya ide atau skenario untuk menghasilkan crash ini?
Bhaven Shah

Jawaban:

22

Dalam kasus kami, kami hanya melihat crash

com.google.firebase:firebase-analytics:17.2.2 

kembali ke 17.2.1 telah memperbaiki masalah

Ini terjadi juga jika Anda menggunakan firebase-core: 17.2.2, karena firebase-analytics adalah pustaka yang sama yang diganti namanya. Pertimbangkan bahwa sesuai dengan dokumen resmi, penggunaan firebase-core saat ini sudah tidak digunakan lagi -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions

Pablo A. Martínez
sumber
mengembalikan firebase-analytics ke 17.2.1 telah menyelesaikan masalah kami. Terima kasih!
Jaydipsinh Zala
Mengembalikan firebase-analytics ke 17.2.1 belum memperbaiki masalah bagi kami. Kami telah menggunakan 17.2.1untuk sementara waktu dan tidak melihat crash ini. Saya ragu bahwa crash sama sekali terkait dengan firebase-analyticsperpustakaan.
Manuel
1
Terimakasih atas peringatannya. Saya baru saja merilis versi dengan 17.2.1. Akan diperbarui setelah waktu ada di tangan pengguna
mburst
Koreksi: kami mengembalikan firebase-analytics ke 17.2.1 tetapi membiarkan firebase-core tidak berubah pada 17.2.2 dan masih menerima crash. Kami kemudian merilis versi dengan core juga kembali ke 17.2.1 dan sejauh ini tidak ada crash. (Saya tidak yakin firebase-core masih diperlukan?)
Manuel
@ PabloA.Martínez Bagus, kami tidak melihat kerusakan pada 17.2.1 sejak mengembalikan pustaka inti dan analitik. Apakah Anda tahu sejak mana versi inti sudah usang? Saya tidak dapat menemukan referensi untuk itu.
Manuel
20

Kembalikan perpustakaan Firebase Core Anda ke:

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

Saya telah melihat crash ini pada v17.2.1 dan v17.2.2, tetapi sejak kembali ke 17.1.0 semuanya baik-baik saja.

Saya telah melaporkan bug di sini: https://firebase.google.com/support/troubleshooter/report/bugs

Memperbarui

Terima kasih @ Sébastien, kembali ke v17.2.0 juga akan berfungsi:

implementation 'com.google.firebase:firebase-core:17.2.0'
Jim
sumber
2
Dalam Firebase Release Notes ( firebase.google.com/support/release-notes/android ) mereka mengatakan untuk mengganti inti-firebase dengan firebase-analytics atau perpustakaan yang kami gunakan. Sudahkah Anda mencoba solusi ini?
Adelino
2
Saya kira keduanya hampir identik kecuali judulnya. Kami menemukan masalah itu ketika memutakhirkan dari com.google.firebase: firebase-analytics: 17.1.0 ke 17.2.2
Farasy
@ Farasy terima kasih atas balasannya, saya akan mengembalikan dependensi: |
Adelino
1
Terima kasih @ Jim. Tolong terus kami diposting. Tampaknya itu com.google.firebase:firebase-core:17.2.0juga bebas dari bug.
Sébastien
1
Versi 17.2.1 juga berfungsi, kami tidak pernah melihat kerusakan pada versi itu, hanya setelah memutakhirkan ke 17.2.2.
Manuel
6

Kami telah mengidentifikasi masalah tersebut, dan sedang mengerjakan perbaikan untuk rilis SDK berikutnya.

Eric Burley
sumber
Kami menghadapi masalah yang sama. Harap beri tahu kami tentang kemajuan dalam memperbaiki hal ini.
Qbit
3
apakah sudah diperbaiki dengan 17.2.3?
neobie
2
@Qbit sudah diperbaiki pada 17.2.3. firebase.google.com/support/release-notes/…
Sinan Ceylan
Menemukan masalah ini lagi di 'com.google.firebase: firebase-analytics: 17.4.0'.
John
John - apakah Anda memiliki tumpukan jejak untuk kejadian ini?
Eric Burley
0

Kami baru-baru ini mengalami masalah yang sama. Kesalahan dalam adaptor Iklan Persatuan untuk mediasi Admob.

Ini file build.gradle kami:

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'

Kesalahan di konsol 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)

Apakah masalah ini terkait dengan firebase lagi?

MEMPERBARUI

Sepertinya masalah kali ini ada di adaptor UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

denri11
sumber