java.util.ConcurrentModificationException na atividade onCreate

48

Em uma versão recente em que adicionei o MoPub por meio da mediação de anúncios da Admob, estou vendo um monte de ConcurrentModificationException nos logs de falha. Tudo parece ser código nativo e eu estou na versão mais recente de todas as bibliotecas relacionadas a anúncios e relacionadas ao google / android. Alguém já se deparou com isso 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)

É assim que o código se parece até a linha 21 de BaseActivity:

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

É assim que o código se parece até a linha 70 de RecentGameActivity

public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
mburst
fonte
11
Encontramos o mesmo problema em vários telefones até o Android 9. Você usa o Firebase Analytics? Se sim, qual versão?
Farasy 26/01
Tendo o mesmo problema depois de atualizar as dependências.
Tearsdontfalls 26/01
11
@Farasy Sim, eu também vejo isso no Android 9, apesar de alguns usuários em outras versões. Estou usando o Firebase Analytics com.google.firebase: firebase-core: 17.2.2
mburst 26/01
alguém tem uma ideia ou cenário para gerar esta falha?
Bhaven Shah

Respostas:

22

No nosso caso, estamos vendo apenas o acidente com

com.google.firebase:firebase-analytics:17.2.2 

reverter para 17.2.1 corrigiu o problema

Isso acontece também se você estiver usando o firebase-core: 17.2.2, porque o firebase-analytics é a mesma biblioteca renomeada. Leve em consideração que, de acordo com os documentos oficiais, o uso atual do firebase-core está obsoleto -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions

Pablo A. Martínez
fonte
reverter o firebase-analytics para 17.2.1 corrigiu o nosso problema. Obrigado!
Jaydipsinh Zala 03/02
A reversão da análise de base de firmas para 17.2.1 não resolveu o problema. Estamos usando 17.2.1há um tempo e não vimos essas falhas. Duvido que o acidente esteja relacionado à firebase-analyticsbiblioteca.
Manuel
11
Obrigado pela atenção. Acabei de lançar uma versão com 17.2.1. Será atualizado assim que
houver
Correção: revertemos o firebase-analytics para 17.2.1, mas deixamos o núcleo do firebase inalterado em 17.2.2 e ainda estávamos recebendo falhas. Em seguida, lançamos uma versão com core também revertida para 17.2.1 e sem falhas até o momento. (Não tenho certeza se ainda é necessário o firebase-core?)
Manuel
@ PabloA.Martínez Bom, não vimos nenhuma falha no 17.2.1 desde a reversão das bibliotecas principal e de análise. Você sabe desde que versão principal está obsoleta? Não consegui encontrar uma referência a isso.
Manuel
20

Reverta sua biblioteca Firebase Core para:

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

Eu já vi esse travamento nas v17.2.1 e v17.2.2, mas desde a reversão para a 17.1.0 tudo ficou bem.

Eu relatei o erro aqui: https://firebase.google.com/support/troubleshooter/report/bugs

Atualizar

Obrigado @ Sébastien, a reversão para a v17.2.0 também deve funcionar:

implementation 'com.google.firebase:firebase-core:17.2.0'
Jim
fonte
2
Nas notas de versão do Firebase ( firebase.google.com/support/release-notes/android ), eles dizem para substituir o firebase-core pelo firebase-analytics ou pelas bibliotecas que estamos usando. Você já tentou esta solução?
Adelino
2
Eu acho que ambos são quase idênticos, exceto o título. Encontramos esse problema ao atualizar do com.google.firebase: firebase-analytics: 17.1.0 para 17.2.2
Farasy
@ Farasy obrigado pela resposta, vou reverter a dependência: |
Adelino
11
Obrigado @ Jim. Por favor, mantenha-nos informados. Parece que com.google.firebase:firebase-core:17.2.0também está isento do bug.
Sébastien
11
A versão 17.2.1 também funciona, nunca observamos uma falha nessa versão, somente após a atualização para a 17.2.2.
Manuel
6

Identificamos o problema e estamos trabalhando em uma correção para a próxima versão do SDK.

Eric Burley
fonte
Estamos enfrentando o mesmo problema. Informe-nos sobre o progresso na correção disso.
Qbit 25/02
3
é corrigido com 17.2.3?
neobie 28/02
2
@Qbit está corrigido em 17.2.3. firebase.google.com/support/release-notes/…
Sinan Ceylan
Encontrei esse problema novamente em 'com.google.firebase: firebase-analytics: 17.4.0'.
John
John - você tem um rastreamento de pilha para esta ocorrência?
Eric Burley
0

Recentemente, encontramos um problema semelhante. Erro no adaptador Unity Ads para mediação Admob.

Aqui está o nosso arquivo 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'

Erro no console do 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)

Esse problema está relacionado ao firebase novamente?

ATUALIZAR

Parece que o problema desta vez está no adaptador UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

denri11
fonte