ANR during FirebaseInitProvider.onCreate - SimpleArrayMap/ContainerHelpersKt class initialization
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Área
- mobile, performance
Línea de trabajo
Comienza rastreando FirebaseInitProvider.onCreate a través de la inicialización de la clase FirebaseApp, centrándote en la carga reportada de SimpleArrayMap y ContainerHelpersKt en el hilo principal. Compara las trazas de startup de los dispositivos de gama baja afectados e inspecciona la ruta de inicialización de firebase-common; se considerará terminado cuando se establezca una causa reproducible o una mitigación claramente respaldada, con cobertura del comportamiento de startup relevante.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[READ] Step 1: Are you in the right place?
- For general technical questions, post a question on StackOverflow
with the firebase tag. - For general Firebase discussion, use the
firebase-talk google group. - For help troubleshooting your application that does not fall under one of the above categories,
reach out to the personalized Firebase support channel.
[REQUIRED] Step 2: Describe your environment
- Android Studio version: Android Studio Otter | 2025.2.1 Patch 1
- Firebase Component: Firebase Core (firebase-common)
- Component version: BOM 34.3.0
[REQUIRED] Step 3: Describe the problem
We are seeing ANRs during app cold start caused by slow class static initialization (<clinit>) in FirebaseApp triggered by FirebaseInitProvider.onCreate() on the main thread. The main thread is blocked performing class loading/verification of androidx.collection.SimpleArrayMap and ContainerHelpersKt with no lock contention and all other threads are idle.
This impacts lower-end devices during cold start. Since FirebaseInitProvider runs as a ContentProvider it blocks the entire app startup path before Application.onCreate() is even called.
We are already on the latest androidx.collection (1.5.0 resolved).
Steps to reproduce:
Cannot reproduce locally. Observed in production via Crashlytics on lower-end devices during cold start.
"main" tid=1 Runnable
at androidx.collection.SimpleArrayMap.<init> (SourceFile:65354)
at com.google.firebase.FirebaseApp.<clinit> (SourceFile:65354)
at com.google.firebase.provider.FirebaseInitProvider.onCreate (SourceFile:65348)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2648)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2616)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo (SourceFile:65352)
at android.app.ActivityThread.installProvider (ActivityThread.java:8490)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:8003)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7667)
Stack trace 2:
at androidx.collection.internal.ContainerHelpersKt.<clinit> (SourceFile:65354)
at androidx.collection.SimpleArrayMap.<init> (SourceFile:65354)
at com.google.firebase.FirebaseApp.<clinit> (SourceFile:65354)
at com.google.firebase.provider.FirebaseInitProvider.onCreate (SourceFile:65348)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2648)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2616)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo (SourceFile:65352)
at android.app.ActivityThread.installProvider (ActivityThread.java:8490)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:8003)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7667)
In both cases, all other threads (binder, daemon, SharedPreferences, etc.) are idle or in waiting state — no lock contention is involved.
What happened? How can we make the problem occur? This could be a description, log/console output,
etc.
Device & OS breakdown
Android versions: Android 15 (SDK 35), Android 16 Beta (SDK 36)
Visibility: Foreground
Top affected devices:
- realme RE6095
- realme RE6054
- realme RE58BC
- realme RE5C9F
Relevant Code:
// No app code involved. ANR occurs before Application.onCreate()
// during ContentProvider initialization triggered by the system.
// FirebaseInitProvider is auto-merged into the manifest by the Firebase SDK.
- Lenguaje dominante
- Java
- Estrellas
- 2.6k
- Forks
- 733
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 72
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-android-sdk
-
api: remoteconfig
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
firebase/firebase-android-sdk#8827 ·
Los mantenedores suelen responder en 1 día
-
Crashlytics plugin writes build ID lists in directory listing order, so APKs can differ between machinesPosiblemente ocupada @mrober la tomó hace 8 días. Abiertoapi: crashlytics
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
firebase/firebase-android-sdk#8789 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
api: auth
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
firebase/firebase-android-sdk#8505 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
firebase/firebase-android-sdk#8835 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
firebase/firebase-android-sdk#8832 ·
Los mantenedores suelen responder en 1 día
Todos los issues de firebase/firebase-android-sdk
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
RIS export splits an organization name containing “and” into multiple authorsPosiblemente ocupada @Gautam-aman la tomó hoy. Abiertostatus: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JabRef/jabref#17821 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
FailureContext.java rounds down thresholds in lastedAtLeast()Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día