Огненная база ANR из-за тупика
После того, как я обновил Firebase-SDK для облачных сообщений и Crittercism SDK одновременно, у моего приложения ANR очень высокая частота ANR. ANR произошло во время запуска.
Моя конфигурация зависимостей:
implementation 'com.crittercism:crittercism-android-ndk-agent:5.8.7'
implementation 'com.google.android.gms:play-services-auth:11.8.0'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
Вот журнал стека ANR:
Потоки "Рабочий измерения" (tid=9), "Thread-33751" (tid=11) находятся в тупике.
"Measurement Worker" prio=5 tid=9 Blocked
| group="main" sCount=1 dsCount=0 obj=0x32c023a0 self=0xadd8a600
| sysTid=25249 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0xb2b7f930
| state=S schedstat=( 235085574 45426929 104 ) utm=15 stm=8 core=3 HZ=100
| stack=0xb2a7d000-0xb2a7f000 stackSize=1038KB
| held mutexes=
at java.security.Provider.getService (Provider.java:378)
- waiting to lock <0x04938828> (a com.android.org.conscrypt.OpenSSLProvider) held by thread 11
at java.security.Security$SecurityDoor.getService (Security.java:424)
at org.apache.harmony.security.fortress.Services.getFirstServiceOfType (Services.java:164)
- locked <0x0d3d5941> (a java.lang.Class<org.apache.harmony.security.fortress.Services>)
at org.apache.harmony.security.fortress.Services.getCacheVersion (Services.java:197)
- locked <0x0d3d5941> (a java.lang.Class<org.apache.harmony.security.fortress.Services>)
at org.apache.harmony.security.fortress.Engine.getServices (Engine.java:159)
at org.apache.harmony.security.fortress.Engine.getInstance (Engine.java:137)
at java.security.MessageDigest.getInstance (MessageDigest.java:91)
at com.google.firebase.iid.w.a (unavailable)
at com.google.firebase.iid.FirebaseInstanceId.c (unavailable)
at com.google.android.gms.c.cb.D (unavailable)
at com.google.android.gms.c.cb.a (unavailable)
at com.google.android.gms.c.fa.a (unavailable)
at com.google.android.gms.c.fa.a (unavailable)
at com.google.android.gms.c.dg.c (unavailable)
at com.google.android.gms.c.dh.run (unavailable)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:423)
at java.util.concurrent.FutureTask.run (FutureTask.java:237)
at com.google.android.gms.c.df.run (unavailable)
"Thread-33751" prio=5 tid=11 Blocked
| group="main" sCount=1 dsCount=0 obj=0x32c020a0 self=0xb47a4f00
| sysTid=25257 nice=0 cgrp=apps/bg_non_interactive sched=0/0 handle=0xae16a930
| state=S schedstat=( 34997241 16589583 36 ) utm=1 stm=2 core=0 HZ=100
| stack=0xae068000-0xae06a000 stackSize=1038KB
| held mutexes=
at org.apache.harmony.security.fortress.Services.setNeedRefresh (Services.java:187)
- waiting to lock <0x0d3d5941> (a java.lang.Class<org.apache.harmony.security.fortress.Services>) held by thread 9
at java.security.Provider.remove (Provider.java:284)
- locked <0x04938828> (a com.android.org.conscrypt.OpenSSLProvider)
at com.crittercism.internal.i.b (unavailable:195)
at com.crittercism.internal.i.a (unavailable:141)
at com.crittercism.internal.am$a.run (unavailable:2040)
at java.lang.Thread.run (Thread.java:818)