java.util.ConcurrentModificationException in der Aktivität onCreate

48

In einer kürzlich veröffentlichten Version, in der ich MoPub über Admob-Anzeigenvermittlung hinzugefügt habe, wird in Absturzprotokollen eine Reihe von ConcurrentModificationException angezeigt. Es scheint alles nativer Code zu sein und ich bin auf der neuesten Version aller werbebezogenen und google / androidbezogenen Bibliotheken. Hat das schon mal jemand gemacht?

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)

So sieht der Code bis Zeile 21 von BaseActivity aus:

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

So sieht der Code bis Zeile 70 von RecentGameActivity aus

public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
mburst
quelle
1
Wir haben das gleiche Problem auf mehreren Handys bis Android 9 festgestellt. Verwenden Sie Firebase Analytics? Wenn ja, welche Version?
Farasy
Ich habe das gleiche Problem, nachdem ich Abhängigkeiten aktualisiert habe.
Tearsdontfalls
1
@Farasy Ja, ich sehe es auch auf Android 9 sehr oft, obwohl einige Benutzer auf anderen Versionen. Ich verwende Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mburst
Hat jemand eine Idee oder ein Szenario, um diesen Absturz zu generieren?
Bhaven Shah

Antworten:

22

In unserem Fall sehen wir nur den Absturz mit

com.google.firebase:firebase-analytics:17.2.2 

Das Zurücksetzen auf 17.2.1 hat das Problem behoben

Dies passiert auch, wenn Sie Firebase-Core: 17.2.2 verwenden, da Firebase-Analytics dieselbe Bibliothek ist, die umbenannt wurde. Berücksichtigen Sie, dass gemäß den offiziellen Dokumenten die aktuelle Verwendung von Firebase-Core veraltet ist -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions

Pablo A. Martínez
quelle
Das Zurücksetzen von Firebase-Analytics auf 17.2.1 hat unser Problem behoben. Vielen Dank!
Jaydipsinh Zala
Das Zurücksetzen von Firebase-Analytics auf 17.2.1 hat das Problem für uns nicht behoben. Wir verwenden 17.2.1seit einer Weile und haben diese Abstürze nicht gesehen. Ich bezweifle, dass der Absturz überhaupt mit der firebase-analyticsBibliothek zusammenhängt.
Manuel
1
Danke für die Warnung. Ich habe gerade eine Version mit 17.2.1 veröffentlicht. Wird aktualisiert, sobald die Benutzer Zeit haben
mburst
Korrektur: Wir haben die Firebase-Analyse auf 17.2.1 zurückgesetzt, aber den Firebase-Core bei 17.2.2 unverändert gelassen und immer noch Abstürze erhalten. Wir haben dann eine Version veröffentlicht, deren Kern ebenfalls auf 17.2.1 zurückgesetzt wurde und bisher keine Abstürze aufwies. (Ich bin nicht sicher, ob Firebase-Core überhaupt noch benötigt wird?)
Manuel
@ PabloA.Martínez Gut, wir haben in 17.2.1 keine Abstürze gesehen, da sowohl die Kern- als auch die Analysebibliothek zurückgesetzt wurden. Wissen Sie zufällig, seit welcher Versionskern veraltet ist? Ich konnte keinen Hinweis darauf finden.
Manuel
20

Setzen Sie Ihre Firebase Core-Bibliothek auf Folgendes zurück:

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

Ich habe diesen Absturz sowohl in Version 17.2.1 als auch in Version 17.2.2 gesehen, aber seit der Rückkehr zu Version 17.1.0 war alles in Ordnung.

Ich habe den Fehler hier gemeldet: https://firebase.google.com/support/troubleshooter/report/bugs

Aktualisieren

Danke @ Sébastien, das Zurücksetzen auf v17.2.0 sollte auch funktionieren:

implementation 'com.google.firebase:firebase-core:17.2.0'
Jim
quelle
2
In den Firebase-Versionshinweisen ( firebase.google.com/support/release-notes/android ) heißt es, dass der Firebase-Core durch Firebase-Analytics oder die von uns verwendeten Bibliotheken ersetzt werden soll. Haben Sie diese Lösung ausprobiert?
Adelino
2
Ich denke, beide sind bis auf den Titel fast identisch. Wir haben dieses Problem beim Upgrade von com.google.firebase festgestellt: firebase-analysis: 17.1.0 auf 17.2.2
Farasy
@Farasy danke für die Antwort, ich werde die Abhängigkeit zurücksetzen: |
Adelino
1
Danke @Jim. Bitte halten sie uns auf dem Laufenden. Es scheint, dass com.google.firebase:firebase-core:17.2.0auch der Fehler ausgenommen ist.
Sébastien
1
Version 17.2.1 funktioniert auch, wir haben nie einen Absturz bei dieser Version beobachtet, nur nach dem Upgrade auf 17.2.2.
Manuel
6

Wir haben das Problem identifiziert und arbeiten an einem Fix für die nächste Version des SDK.

Eric Burley
quelle
Wir stehen vor dem gleichen Problem. Bitte teilen Sie uns die Fortschritte bei der Behebung dieses Problems mit.
Qbit
3
ist es mit 17.2.3 behoben?
Neobie
2
@ Qbit ist es am 17.2.3 behoben. firebase.google.com/support/release-notes/…
Sinan Ceylan
Dieses Problem wurde erneut unter "com.google.firebase: firebase-analysis: 17.4.0" gefunden.
John vor
John - haben Sie eine Stapelverfolgung für dieses Ereignis?
Eric Burley
0

Wir sind kürzlich auf ein ähnliches Problem gestoßen. Fehler im Unity Ads-Adapter für die Admob-Vermittlung.

Hier ist unsere build.gradle-Datei:

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'

Fehler in der Google Play-Konsole:

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)

Hat dieses Problem wieder mit Firebase zu tun?

AKTUALISIEREN

Dieses Problem liegt anscheinend im UnityAds-Adapter: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

denri11
quelle