[Crashlytics] ANR on main thread due to awaitEvenIfOnMainThread when third-party SDKs are present in the UncaughtExceptionHandler chain
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Ambito
- mobile-dev
Direzione di ricerca
Inizia da com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread e CrashlyticsController.handleUncaughtException, quindi esamina CrashlyticsUncaughtExceptionHandler. Esamina lo stack trace di Android 11 e l’interazione con com.huawei.hms.network.embedded.t4; nel report non sono presenti passaggi per la riproduzione né test denominati. Il lavoro è completato quando si determina se questa attesa può causare l’ANR segnalato e si documenta o si testa il comportamento risultante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment:
- Firebase Component: firebase-crashlytics
- Component version: com.google.firebase:firebase-crashlytics:20.0.4
- Android versions: 100% android 11
- Devices: 80% Samsung, Xiaomi, Oppo
- Device state: 100% background
The project includes HMS push notifications, location. But we don't use hms crashlytics or hms analytics.
Describe the problem
We're seeing ANRs on the main thread that occur during crash handling. The stack trace consistently points to Crashlytics waiting inside awaitEvenIfOnMainThread:
main (timed waiting):tid=1 systid=12425
at sun.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1358)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:62)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:262)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:181)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:168)
at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:54)
at com.huawei.hms.network.embedded.t4.uncaughtException(:141)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
at java.lang.Thread.dispatchUncaughtException(Thread.java:2203)
Also I can see com.huawei.hms.network.embedded.t4.uncaughtException
Steps to reproduce:
Unknown
Question
- Now awaitEvenIfOnMainThread is @Deprecated. What are your plans about this function?
- Could this function affect ANR?
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 733
- Merge medio
- 2g 15h
- PR unite (30g)
- 72
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di firebase/firebase-android-sdk
-
api: remoteconfig
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
firebase/firebase-android-sdk#8827 ·
I maintainer di solito rispondono entro 1 giorno
-
Crashlytics plugin writes build ID lists in directory listing order, so APKs can differ between machinesForse già presa @mrober l’ha presa 8 giorni fa. Apertaapi: crashlytics
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
firebase/firebase-android-sdk#8789 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
api: auth
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
firebase/firebase-android-sdk#8505 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
firebase/firebase-android-sdk#8835 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
firebase/firebase-android-sdk#8832 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di firebase/firebase-android-sdk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
RIS export splits an organization name containing “and” into multiple authorsForse già presa @Gautam-aman l’ha presa oggi. Apertastatus: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
JabRef/jabref#17821 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
FailureContext.java rounds down thresholds in lastedAtLeast()Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno