java.util.ConcurrentModificationException in activity onCreate


48

In una recente versione in cui ho aggiunto MoPub tramite la mediazione degli annunci Admob, vedo un sacco di ConcurrentModificationException nei registri degli arresti anomali. Tutto sembra essere un codice nativo e io sono sull'ultima versione di tutte le librerie relative agli annunci e google / android. Qualcuno l'ha incontrato prima?

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)

Ecco come appare il codice fino alla riga 21 di BaseActivity:

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

Ecco come appare il codice fino alla riga 70 di RecentGameActivity

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

1
Abbiamo riscontrato lo stesso problema su diversi telefoni fino ad Android 9. Utilizzi Firebase Analytics? Se sì, quale versione?
Farasy,

Avere lo stesso problema dopo aver aggiornato le dipendenze.
Tearsdontfalls

1
@Farasy Sì, lo vedo molto anche su Android 9, anche se alcuni utenti su altre versioni. Sto utilizzando Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mburst

qualcuno ha un'idea o uno scenario per generare questo incidente?
Bhaven Shah,

Risposte:


22

Nel nostro caso, stiamo vedendo solo l'incidente con

com.google.firebase:firebase-analytics:17.2.2 

il ripristino a 17.2.1 ha risolto il problema

Questo succede anche se si utilizza firebase-core: 17.2.2, perché firebase-analytics è la stessa libreria rinominata. Tieni presente che, in base ai documenti ufficiali, l'utilizzo corrente di firebase-core è obsoleto -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions


il ripristino dell'analisi di Firebase su 17.2.1 ha risolto il problema. Grazie!
Jaydipsinh Zala,

Ripristinare l'analisi della base di fuoco su 17.2.1 non ha risolto il problema per noi. Usiamo 17.2.1da un po 'e non abbiamo visto questi arresti anomali. Dubito che l'incidente sia del tutto legato alla firebase-analyticsbiblioteca.
Manuel,

1
Grazie per il testa a testa. Ho appena rilasciato una versione con 17.2.1. Si aggiorna una volta che ha avuto il tempo nelle mani degli utenti
mburst

Correzione: abbiamo ripristinato l'analisi della base di fuoco su 17.2.1 ma abbiamo lasciato invariata la base di fuoco su 17.2.2 e continuavamo a ricevere arresti anomali. Abbiamo quindi rilasciato una versione con core ripristinata alla 17.2.1 e finora nessun crash. (Non sono sicuro che Firebase-Core sia ancora necessario?)
Manuel,

@ PabloA.Martínez Bene, non abbiamo riscontrato alcun arresto anomalo su 17.2.1 da quando sono state ripristinate le librerie di base e di analisi. Ti capita di sapere da quale versione è obsoleto? Non sono riuscito a trovare un riferimento a questo.
Manuel,

20

Ripristina la libreria Firebase Core in:

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

Ho visto questo crash sia su v17.2.1 che su v17.2.2, ma da quando è tornato a 17.1.0 tutto è andato bene.

Ho segnalato il bug qui: https://firebase.google.com/support/troubleshooter/report/bugs

Aggiornare

Grazie a @ Sébastien, il ripristino della versione 17.2.0 dovrebbe funzionare anche:

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

2
Nelle Note sulla versione di Firebase ( firebase.google.com/support/release-notes/android ) si dice che sostituisca il nucleo di base di fuoco con l'analisi di base di fuoco o le librerie che stiamo utilizzando. Hai provato questa soluzione?
Adelino,

2
Immagino che entrambi siano quasi identici tranne il titolo. Abbiamo riscontrato questo problema durante l'aggiornamento da com.google.firebase: firebase-analytics: 17.1.0 a 17.2.2
Farasy

@Farasy grazie per la risposta, ripristinerò la dipendenza: |
Adelino,

1
Grazie @Jim. Per favore, tienici aggiornati. Sembra che com.google.firebase:firebase-core:17.2.0sia anche esente dal bug.
Sébastien,

1
Anche la versione 17.2.1 funziona, non abbiamo mai osservato un arresto anomalo su quella versione, solo dopo l'aggiornamento a 17.2.2.
Manuel,


6

Abbiamo identificato il problema e stiamo lavorando a una correzione per la prossima versione dell'SDK.


Stiamo affrontando lo stesso problema. Fateci sapere i progressi nel risolvere questo.
Qbit

3
è risolto con 17.2.3?
Neobie,

2
@Qbit è stato risolto il 17.2.3. firebase.google.com/support/release-notes/…
Sinan Ceylan

Trovato di nuovo questo problema su "com.google.firebase: firebase-analytics: 17.4.0".
Giovanni

John - hai una traccia dello stack per questo evento?
Eric Burley

0

Di recente abbiamo riscontrato un problema simile. Errore nell'adattatore Unity Ads per la mediazione di Admob.

Ecco il nostro file 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'

Errore nella console di 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)

Questo problema è di nuovo correlato a Firebase?

AGGIORNARE

Sembra che il problema stavolta sia nell'adattatore UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.