java.util.ConcurrentModificationException en la actividad onCreate


48

En un lanzamiento reciente donde agregué MoPub a través de la mediación de anuncios de Admob, veo un montón de ConcurrentModificationException en los registros de bloqueo. Todo parece ser un código nativo y estoy en la última versión de todas las bibliotecas relacionadas con anuncios y google / android. ¿Alguien se topó con esto antes?

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)

Así es como se ve el código hasta la línea 21 de BaseActivity:

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

Así es como se ve el código hasta la línea 70 de RecentGameActivity

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

1
Encontramos el mismo problema en varios teléfonos hasta Android 9. ¿Utiliza Firebase Analytics? En caso afirmativo, ¿qué versión?
Farasy

Tener el mismo problema después de actualizar las dependencias.
Tearsdontfalls

1
@Farasy Sí, también lo veo mucho en Android 9, aunque algunos usuarios en otras versiones. Estoy usando Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mburst

Alguien tiene una idea o escenario para generar este bloqueo?
Bhaven Shah

Respuestas:


22

En nuestro caso, solo estamos viendo el choque con

com.google.firebase:firebase-analytics:17.2.2 

volver a 17.2.1 ha solucionado el problema

Esto también sucede si está usando firebase-core: 17.2.2, porque firebase-analytics es la misma biblioteca renombrada. Tenga en cuenta que según los documentos oficiales, el uso actual de firebase-core está obsoleto -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions


revertir firebase-analytics a 17.2.1 ha solucionado nuestro problema. ¡Gracias!
Jaydipsinh Zala

Revertir firebase-analytics a 17.2.1 no nos ha solucionado el problema. Lo hemos estado usando 17.2.1durante un tiempo y no vimos estos bloqueos. Dudo que el bloqueo esté relacionado con la firebase-analyticsbiblioteca.
Manuel

1
Gracias por el aviso. Acabo de lanzar una versión con 17.2.1. Se actualizará una vez que haya tenido tiempo en manos de los usuarios
mburst

Corrección: revertimos firebase-analytics a 17.2.1 pero dejamos sin cambios el núcleo de firebase en 17.2.2 y todavía recibíamos bloqueos. Luego lanzamos una versión con núcleo también revertida a 17.2.1 y hasta ahora no se bloquea. (¿No estoy seguro de que todavía se necesite firebase-core?)
Manuel

@ PabloA.Martínez Bien, no vimos ningún bloqueo en 17.2.1 desde que revirtimos tanto las bibliotecas principales como las analíticas. ¿Sabes desde qué versión core está en desuso? No pude encontrar una referencia a eso.
Manuel

20

Revierte tu biblioteca de Firebase Core a:

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

He visto este bloqueo en v17.2.1 y v17.2.2, pero desde que volví a 17.1.0, todo ha estado bien.

He informado el error aquí: https://firebase.google.com/support/troubleshooter/report/bugs

Actualizar

Gracias @ Sébastien, volviendo a v17.2.0 también debería funcionar:

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

2
En las Notas de la versión de Firebase ( firebase.google.com/support/release-notes/android ) dicen que se debe reemplazar firebase-core por firebase-analytics o las bibliotecas que estamos utilizando. ¿Has probado esta solución?
Adelino

2
Supongo que ambos son casi idénticos excepto el título. Encontramos ese problema al actualizar desde com.google.firebase: firebase-analytics: 17.1.0 a 17.2.2
Farasy

@Farasy gracias por la respuesta, revertiré la dependencia: |
Adelino

1
Gracias @ Jim. Por favor mantenganos informados. Parece que com.google.firebase:firebase-core:17.2.0también está exento del error.
Sébastien

1
La versión 17.2.1 también funciona, nunca observamos un bloqueo en esa versión, solo después de actualizar a 17.2.2.
Manuel


6

Hemos identificado el problema y estamos trabajando en una solución para la próxima versión del SDK.


Nos enfrentamos al mismo problema. Por favor, háganos saber sobre el progreso en la solución de esto.
Qbit

3
¿Se arregla con 17.2.3?
Neobie


Encontré este problema nuevamente en 'com.google.firebase: firebase-analytics: 17.4.0'.
Juan

John: ¿tienes un seguimiento de pila para este evento?
Eric Burley

0

Recientemente hemos encontrado un problema similar. Error en el adaptador de Unity Ads para la mediación de Admob.

Aquí está nuestro archivo 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'

Error en la consola de 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)

¿Está este problema relacionado con Firebase nuevamente?

ACTUALIZAR

Parece que el problema esta vez está en el adaptador de UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.