java.util.ConcurrentModificationException in activity onCreate
In a recent release where I added MoPub via Admob ad mediation I am seeing a bunch of ConcurrentModificationException in crash logs. It all seems to be native code and I am on the latest version of all ad related and google/android related libraries. Anyone run in to this before?
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)
This is what the code looks like up to line 21 of BaseActivity:
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
super.onCreate(savedInstanceState);
This is what the code looks like up to line 70 of RecentGameActivity
public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
In our case, we are only seeing the crash with
com.google.firebase:firebase-analytics:17.2.2
reverting to 17.2.1 has fixed the problem
This happens too if you are using firebase-core:17.2.2, because firebase-analytics is the same library rebranded. Take into account that as per official docs, current usage of firebase-core is deprecated -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions
Revert your Firebase Core library to:
implementation 'com.google.firebase:firebase-core:17.1.0'
I've seen this crash on both v17.2.1 and v17.2.2, but since reverting to 17.1.0 all has been fine.
I've reported the bug here: https://firebase.google.com/support/troubleshooter/report/bugs
Update
Thanks @Sébastien, reverting to v17.2.0 should also work:
implementation 'com.google.firebase:firebase-core:17.2.0'
It is finally fixed in 17.2.3: https://firebase.google.com/support/release-notes/android#analytics_v17-2-3