main (timed waiting):tid=1 systid=22386
at sun.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:88)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(unavailable:1)
at androidx.appcompat.app.AppCompatViewInflater.a(AppCompatViewInflater.java:20)
at androidx.appcompat.widget.ActionBarBackgroundDrawable.c(ActionBarBackgroundDrawable.java:7)
at androidx.core.app.ActivityRecreator$1.b(ActivityRecreator.java:4)
at androidx.core.app.ActivityRecreator$1.<init>(ActivityRecreator.java:87)
at com.example.sdk.MyService.initializeSdk(MyService.kt:13)
at com.example.sdk.MyService.onStartCommand(MyService.kt:98)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4784)
at android.app.ActivityThread.access$2000(ActivityThread.java:301)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2204)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
I am getting this ANR logged in firebase randomly for few devices. Can anyone help me to understand in which kind of scenarios this can happen?
Help would be really appreciated.
Never, ever use
runBlockingon the main thread. Blocking the main thread causes ANR crashes.runBlockingblocks. If there is a slow or lost net connection when retrieving something from Firebase, it could be blocking for a few seconds, raising the likelihood of an ANR.