android-branch-deep-linking-attribution icon indicating copy to clipboard operation
android-branch-deep-linking-attribution copied to clipboard

ANR

Open dxplay120 opened this issue 5 years ago • 0 comments

"main" prio=5 tid=1 Blocked | group="main" sCount=1 dsCount=0 flags=1 obj=0x71f4d2d0 self=0x7b4e723c00 | sysTid=23843 nice=0 cgrp=default sched=0/0 handle=0x7b4fc98ed8 | state=S schedstat=( 770981615 190886951 1832 ) utm=22 stm=54 core=0 HZ=100 | stack=0x7fd0957000-0x7fd0959000 stackSize=8192KB | held mutexes= at android.app.ActivityThread.collectComponentCallbacks (ActivityThread.java:5670)

  • waiting to lock <0x0734e62f> (a android.app.ResourcesManager) held by thread 50 at android.app.ActivityThread.handleTrimMemory (ActivityThread.java:6374) at android.app.ActivityThread.access$1400 (ActivityThread.java:242) at android.app.ActivityThread$ApplicationThread.lambda$scheduleTrimMemory$0 (ActivityThread.java:1681) at android.app.-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38.accept (lambda) at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke (PooledLambdaImpl.java:271) at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke (PooledLambdaImpl.java:195) at com.android.internal.util.function.pooled.OmniFunction.run (OmniFunction.java:86) at android.os.Handler.handleCallback (Handler.java:883) at android.os.Handler.dispatchMessage (Handler.java:100) at android.os.Looper.loop (Looper.java:227) at android.app.ActivityThread.main (ActivityThread.java:7822) at java.lang.reflect.Method.invoke (Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1026)

"Thread-3" prio=5 tid=50 Runnable | group="main" sCount=0 dsCount=0 flags=0 obj=0x131006e8 self=0x7a50a1fc00 | sysTid=23996 nice=-19 cgrp=default sched=0/0 handle=0x7a4b01cd50 | state=R schedstat=( 1467512100 59013150 1284 ) utm=2 stm=144 core=5 HZ=100 | stack=0x7a4af1a000-0x7a4af1c000 stackSize=1039KB | held mutexes= "mutator lock"(shared held) at android.os.Trace.traceEnd (Trace.java:263) at android.content.res.ResourcesImpl.updateConfiguration (ResourcesImpl.java:546) at android.content.res.ResourcesImpl. (ResourcesImpl.java:202) at android.app.ResourcesManager.createResourcesImpl (ResourcesManager.java:532) at android.app.ResourcesManager.getOrCreateResources (ResourcesManager.java:832)

  • locked <0x0734e62f> (a android.app.ResourcesManager) at android.app.ResourcesManager.getResources (ResourcesManager.java:898) at android.app.ResourcesManager.getResources (ResourcesManager.java:1361) at android.app.ContextImpl.createResources (ContextImpl.java:2211) at android.app.ContextImpl.createPackageContextAsUser (ContextImpl.java:2274) at android.app.ContextImpl.createPackageContext (ContextImpl.java:2249) at android.content.ContextWrapper.createPackageContext (ContextWrapper.java:887) at com.google.android.gms.common.h.d at com.google.android.gms.ads.identifier.b. (unavailable) at com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo (unavailable) at java.lang.reflect.Method.invoke (Native method) at io.branch.referral.v.g (GAdsPrefetchTask.java:3) at io.branch.referral.v.c (GAdsPrefetchTask.java:1) at io.branch.referral.v$a.run (GAdsPrefetchTask.java:3) at java.lang.Thread.run (Thread.java:919)

This is the ANR log collected by google play console. The AdvertisingIdClient.getAdvertisingIdInfo that your SDK calls in the child thread will get the lock from the ResourcesManager singleton, and the main thread receives the low-memory callback and the system will also acquire the lock on the ResourcesManager singleton, causing the main thread to wait for this lock. , Which leads to ANR.

dxplay120 avatar Oct 28 '20 02:10 dxplay120