ANR crash (sun.misc.Unsafe.park(Native method))

762 Views Asked by At
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.

1

There are 1 best solutions below

0
Tenfour04 On

Never, ever use runBlocking on the main thread. Blocking the main thread causes ANR crashes. runBlocking blocks. 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.