Open AntonPetrov83 opened 2 years ago
[not affiliated with AL]
It is a known issue, yes.
We are also on the crawl for solutions to this.
(I'm leaving a comment just so you know you aren't alone, nor crazy 😝)
We are having the same issue. It crashes on startup certain Samsung devices in our case ( Android 11 and 12). Latest upgrade fixed the issue for some of them but our ANRs still are too high. Hope it's fixed soon.
We have the exact same issue. ANR 0.5% -> 1.0% after integrating MAX. Applovin has a lot of good features (ex: Mintegral) but this hurt our organic traffic a lot T____T
@AntonPetrov83 A few recommendations that may help while the MAX team investigates:
1) Ad Review - older versions of this feature have been problematic. If you aren't on the latest version, you should temporarily try updating or disabling the feature. 2) Waterfalls & timeouts - have your account manager do a quick check to ensure you don't have an excessively long waterfall. A good rewarded video setup with the networks you have should be around 30 lines, maybe less depending on which geos make up your inventory. 3) Grab logs - if you are able to reproduce the ANR/ Crash, you should enable verbose logging -> grab a log -> send to your account manager and the MAX dev support team with steps to reproduce. Be sure to include a screenshot of your mediation debugger so they can see which SDK versions you are on. Any info you can provide their team will help expedite the issue.
Hope this helps, good luck!
@DaviesDom Thank you! If I'll get good traces I will provide it to you asap.
Hey guys, sorry for reviving the thread but does anyone have any update on this? We are experiencing it too.
@InkaTorque @DaviesDom In the end we did managed to calm down our ANR-rate on our side. Still we have some crashes and ANRs caused by advertisement (most notably by WebView) but it is not a critical level now.
The main idea is if you have long frames in Unity then any third-party SDK increases the probability of ANR when Android Activity changes its state (like onPause, onStop etc.) So to resolve the issue we are fighting our long frames.
This is how it looks now:
@AntonPetrov83 Can you please explain more about the "long frame", an example would help a lot. I have 2 games and one of them is flagged as "Red" because of high ANR, red flag game will not be shown in listing but search only.
@AntonPetrov83 Would be great if you can share some of the techniques you used to reduce those ANRs. We are also losing organic traffic and we are having trouble reproducing the ANRs.
Thanks!
@AntonPetrov83 Can you please explain more about the "long frame", an example would help a lot. I have 2 games and one of them is flagged as "Red" because of high ANR, red flag game will not be shown in listing but search only.
@pixeption By "long frame" I mean a frame which takes several seconds to process and not milliseconds as usual. Use Unity Profiler to profile corner cases like entering a new loaded scene or quitting the application. For example, when Unity awakes your scene it calls Awake()
and OnEnable()
for every object of your scene synchronously (during a single frame). This can take a lot of time on some low-end devices imposing an ANR risks if a user decides to minimize or quit the app at the same time.
@AntonPetrov83 Would be great if you can share some of the techniques you used to reduce those ANRs. We are also losing organic traffic and we are having trouble reproducing the ANRs.
Thanks!
@rmgomez We used a Unity Profiler to see frames where a lot of stuff happened and chopped them into series of frames. For example, I distributed third-party SDKs initialization over several frames.
A very valuable discovery was to stop calling Application.Quit()
from a gameplay scene. When you call Application.Quit()
your activity is being stopped and current scene starts unloading at the same moment. This is too much. Instead when a user decides to quit I switch to an empty scene and call Application.Quit()
then.
The ultimate goal (and we have not reached this yet :) ) is to provide predictable and stable framerate independent of what is going on in the game and I mean all the time including game state transitions and loading times too.
A small update.
We have been above the bad behaviour threshold for a long time but in recent updates we did managed to drop the user-preceived ANR rate:
We did analyzed which devices contribute to our ANR rate most of all and then we did optimized how we work with the AppLovin advertisiment on those devices:
We permanently block advertisements loading and showing for devices with RAM <= 1.5GB;
We permanently block advertisements loading and showing for devices with Android 6.0 or smaller;
We permanently block advertisements loading and showing for devices with RAM <= 2.0GB AND Android 10.0 or smaller;
We do not load advertisements while the game is loading not to overwhelm the system;
We do not load and show ads for new users playing tutorial (many of those users will leave the game forever thus no need to add ANR risks here);
Note, that ads loading also contributes to the ANR rate because WebView is being warmed up in the background while ad is loaded.
Besides that watch your performance and memory profilers. Excessive use of the system is reportedly adding a lot to ANR risks.
@AntonPetrov83 What version of Unity you use NOW, and what is your version of Admob + Mediations, cuz i see its and old thread
@StefanMilkov Unity 2020.3.43f.
Thanks for sharing your insights, @AntonPetrov83! I wanted to emphasize your last point for everyone reading this thread:
Besides that watch your performance and memory profilers. Excessive use of the system is reportedly adding a lot to ANR risks.
After working with several game developers facing similar issues, the biggest contributor to ANRs we've found is high memory usage. In particular, high memory usage can lead to native ANRs (like android.os.MessageQueue.nativePollOnce
) and native crashes (like SIGSEGV
).
The first thing we check is the ANR rate for low-RAM devices using the RAM filter in Android Vitals. If you see a significantly higher ANR rate for devices with 2GB of RAM or less, it's likely that the memory usage of your app is contributing to ANRs.
Integrating ad SDKs like the MAX SDK into your app will contribute to the CPU and memory usage of your app, so it's important that your app is at a healthy level of memory usage before integrating ad SDKs. We've found that apps with a high baseline of memory usage experience a larger increase in ANRs after integrating ad mediation. In general, the more memory usage and the more ad networks in your app, the more ANRs users will experience.
There are many resources on optimizing memory usage in Unity but this video is a good place to start: https://www.youtube.com/watch?v=I9wB4Cvgz5g
This blog post from the Google Play team recommends keeping memory usage under 400MB for games and 150MB for apps for your app to run smoothly on low-RAM devices: https://medium.com/googleplaydev/how-to-optimize-your-app-for-android-go-edition-f0d2bedf9e03
We've seen multiple cases where reducing the memory usage of an app resulted in a reduction in ANRs. In one case, a 30% reduction in memory usage (from 1GB to 700MB) led to a 25% decrease in ANRs overall, including a 35% reduction in nativePollOnce
ANRs.
If your app is experiencing ANRs with no clear source, our recommendations (in order) would be:
Hope this helps! 😄
In our project, we decided to send to Crashlytics the button that the user clicked in the game. This helped to identify after which actions the user had ANR.
So, if we consider the 17 ANRs we received in the last few days: 1) android.os.MessageQueue.nativePollOnce - 4 times after the user did something in the game, most likely here the problem specifically in the optimization of the game processes themselves, although I'm not sure how they could be so slow that they caused ANR. 2) android.os.MessageQueueue.nativePollOnce - (Not sure why, but Firebase separated them) 4 times after the user clicked the ad play button. 3) com.google.firebase.app.internal.cpp.JniResultCallback.onCompletion - 3 times, apparently right when opening the app because no user clicks. 4) com.facebook.appevents.iap.InAppPurchaseManager.usingBillingLib2Plus - 2 times, as far as I understand after the user started the purchase process. 5) libopenjdk.so NET_Timeout - 2 times, after the user clicked on the ad view button. 6) jdk.internal.misc.Unsafe.park - 1 time, after the user manually exited the game with Application.Quit() (There used to be more of them, then we made the scene unload before exiting and their number decreased greatly) 7) com.google.firebase.d.a.processRegistrar - 1 time, again with no information about clicks.
So it turns out that 4 times ANR was called by the game itself, 6 times by watching ads, 4 times it was called by Firebase, and 2 times it was called by Facebook SDK. Of course if you look at the whole, advertising is not the only cause of problems here, but it is the dominant place. And we disabled all devices with less than 4 gigabytes of RAM, although some remained, as their RAM size ranges from 2 to 4. Meanwhile, the RAM size occupied by our game is around 1 gb, and it would be a bit difficult to reduce its use. To summarize, we have 0.69% ANR. We can still try to reduce the use of RAM, but it is clearly not just about that. By the way, our native crash rate is at 0.25%.
At least part of this ANR still comes from advertising. We only use Rewarded advertising. Mediators we installed: AdColony, Facebook, AdMob, IronSource, UnityAds. Unity version 2021.3.16f1.
Thanks for sharing all that helpful information @makcimbx!
For the libopenjdk.so NET_Timeout
ANRs, do they have a similar stack trace as the screenshot below? If so, they are coming from the AdMob SDK and you'll need to reach out to Google to have them fix it.
Yes, Stacktrace is the same as in your screenshot.
Yes, Stacktrace is the same as in your screenshot.
@sunny2come - the ANR in the screenshot is from the AdMob SDK so you'll have to reach out to Google about it.
In my opinion, if I provide for the project X solution Y only I will be responsible for the stability of the solution, and only I will be interested in fixing issues. I have “weight”, and I can ask the same Google to fix the problem because my solution is used by 10,000,000 products.
@Lorenzo45 I have an AnR that GP is reporting as related to applovin. I tried to share the AnR but I just get "unexpected error". Where should I report this to you guys?
@SozapJacob You can share the info here:
Ive got 3 more AnRs. Should I post those as well? (Same version and same %)
SourceFile - com.applovin.impl.mediation.g.a
SourceFile - com.applovin.exoplayer2.e.f.
"com.applovin.mediation.adapters.GoogleMediationAdapter.initialize" Version 11.11.3 1.4%
"main" tid=1 Blocked
at android.app.ApplicationLoaders.getClassLoader (ApplicationLoaders.java:96)
at android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries (ApplicationLoaders.java:60)
at android.app.ApplicationLoaders.getSharedLibraryClassLoaderWithSharedLibraries (ApplicationLoaders.java:80)
at android.app.LoadedApk.createSharedLibraryLoader (LoadedApk.java:679)
at android.app.LoadedApk.createSharedLibrariesLoaders (LoadedApk.java:692)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked (LoadedApk.java:847)
at android.app.LoadedApk.access$100 (LoadedApk.java:99)
at android.app.LoadedApk$SplitDependencyLoaderImpl.constructSplit (LoadedApk.java:597)
at android.content.pm.split.SplitDependencyLoader.loadDependenciesForSplit (SplitDependencyLoader.java:70)
at android.app.LoadedApk$SplitDependencyLoaderImpl.ensureSplitLoaded (LoadedApk.java:632)
at android.app.LoadedApk$SplitDependencyLoaderImpl.getSplitPathsForSplit (LoadedApk.java:641)
at android.app.LoadedApk.getSplitPaths (LoadedApk.java:658)
at android.app.ContextImpl.createResources (ContextImpl.java:2130)
at android.app.ContextImpl.createApplicationContext (ContextImpl.java:2157)
at android.content.ContextWrapper.createApplicationContext (ContextWrapper.java:891)
at android.webkit.WebViewFactory.getWebViewContextAndSetProvider (WebViewFactory.java:380)
at android.webkit.WebViewFactory.getProviderClass (WebViewFactory.java:402)
at android.webkit.WebViewFactory.getProvider (WebViewFactory.java:252)
at android.webkit.WebView.getFactory (WebView.java:2551)
at android.webkit.WebView.ensureProviderCreated (WebView.java:2545)
at android.webkit.WebView.setOverScrollMode (WebView.java:2613)
at android.view.View.
"AppLovinSdk:auxiliary_operations" tid=69 Native
at dalvik.system.DexFile.openDexFileNative (Native method)
at dalvik.system.DexFile.openDexFile (DexFile.java:365)
at dalvik.system.DexFile.
"UnityMain" tid=34 Native
at com.unity3d.player.UnityPlayer.nativeRender (Native method) at com.unity3d.player.UnityPlayer.access$300 (unavailable) at com.unity3d.player.UnityPlayer$e$1.handleMessage (unavailable) at android.os.Handler.dispatchMessage (Handler.java:103) at android.os.Looper.loop (Looper.java:214) at com.unity3d.player.UnityPlayer$e.run (unavailable)
"Signal Catcher" tid=6 Runnable
"Jit thread pool worker thread 0" tid=2 Native
"ReferenceQueueDaemon" tid=8 Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at java.lang.Object.wait (Object.java:568) at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:215) at java.lang.Daemons$Daemon.run (Daemons.java:137) at java.lang.Thread.run (Thread.java:919)
"HeapTaskDaemon" tid=9 Waiting
at dalvik.system.VMRuntime.runHeapTasks (Native method) at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:523) at java.lang.Daemons$Daemon.run (Daemons.java:137) at java.lang.Thread.run (Thread.java:919)
"FinalizerDaemon" tid=10 Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:190) at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:211) at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:271) at java.lang.Daemons$Daemon.run (Daemons.java:137) at java.lang.Thread.run (Thread.java:919)
"FinalizerWatchdogDaemon" tid=11 Timed Waiting at java.lang.Thread.sleep (Native method) at java.lang.Thread.sleep (Thread.java:440) at java.lang.Thread.sleep (Thread.java:356) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForMillis (Daemons.java:383) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization (Daemons.java:411) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:323) at java.lang.Daemons$Daemon.run (Daemons.java:137) at java.lang.Thread.run (Thread.java:919)
"Binder:8524_1" tid=12 Native
"Binder:8524_2" tid=13 Native
"Profile Saver" tid=14 Native
"ScionFrontendApi" tid=18 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Crashlytics Exception Handler1" tid=19 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27) at java.lang.Thread.run (Thread.java:919)
"com.google.firebase.crashlytics.startup1" tid=20 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27) at java.lang.Thread.run (Thread.java:919)
"Firebase Background Thread #0" tid=21 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"GmsDynamite" tid=22 Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at java.lang.Object.wait (Object.java:568) at com.google.android.gms.dynamite.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2)
"Firebase Blocking Thread #0" tid=23 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"awaitEvenIfOnMainThread task continuation executor1" tid=24 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27) at java.lang.Thread.run (Thread.java:919)
"queued-work-looper" tid=25 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"pool-9-thread-1" tid=26 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Firebase Blocking Thread #1" tid=27 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"Firebase-Messaging-Init" tid=28 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"Firebase-Messaging-Topics-Io" tid=29 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"Firebase Background Thread #1" tid=30 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"WM.task-1" tid=31 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"FirebaseInstanceId" tid=33 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"Firebase Background Thread #2" tid=35 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"Firebase Blocking Thread #2" tid=36 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"WM.task-2" tid=37 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"firebase-iid-executor" tid=38 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"Firebase Blocking Thread #3" tid=39 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"Firebase Blocking Thread #4" tid=40 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"OkHttp ConnectionPool" tid=41 Timed Waiting at java.lang.Object.wait (Native method) at com.android.okhttp.ConnectionPool$1.run (ConnectionPool.java:106) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"GoogleApiHandler" tid=15 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"Firebase Background Thread #3" tid=42 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$CustomThreadFactory (CustomThreadFactory.java:47) at com.google.firebase.concurrent.-$$Lambda$CustomThreadFactory$HeQjDIAeENT2LKE3GfM7LN2rKe0.run (lambda) at java.lang.Thread.run (Thread.java:919)
"pool-22-thread-1" tid=17 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Binder:8524_3" tid=43 Native
"Binder:8524_4" tid=44 Native
"Measurement Worker" tid=45 Timed Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at m.ll.run (:com.google.android.gms.dynamite_measurementdynamite@234523022@23.45.23 (100400-0):71)
"FAN:ASYNC #1" tid=32 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Okio Watchdog" tid=16 Timed Waiting at java.lang.Object.wait (Native method) at com.android.okhttp.okio.AsyncTimeout.awaitTimeout (AsyncTimeout.java:325) at com.android.okhttp.okio.AsyncTimeout.access$000 (AsyncTimeout.java:42) at com.android.okhttp.okio.AsyncTimeout$Watchdog.run (AsyncTimeout.java:288)
"MessengerIpcClient" tid=46 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"Thread-8" tid=47 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at com.google.androidgamesdk.SwappyDisplayManager$a.run (unavailable)
"AudioPortEventHandler" tid=48 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"AudioTrack" tid=49 Native
"pool-29-thread-1" tid=51 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Firebase-Messaging-Intent-Handle" tid=52 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"firebase-iid-executor" tid=53 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run (com.google.android.gms:play-services-basement@@18.1.0:2) at java.lang.Thread.run (Thread.java:919)
"ConnectivityThread" tid=3 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"UnityChoreographer" tid=4 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"Thread-10" tid=5 Native
"Timer-0" tid=7 Timed Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at java.util.TimerThread.mainLoop (Timer.java:559) at java.util.TimerThread.run (Timer.java:512)
"pool-33-thread-1" tid=50 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-32-thread-1" tid=54 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"queue-1-1" tid=55 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"queue-1-2" tid=56 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-34-thread-1" tid=57 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-35-thread-1" tid=58 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"internal" tid=59 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"pool-35-thread-2" tid=60 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"AppLovinSdk:network" tid=61 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.PriorityBlockingQueue.take (PriorityBlockingQueue.java:548) at com.applovin.impl.sdk.network.e$a.a (SourceFile:98) at com.applovin.impl.sdk.network.e$a.run (SourceFile:85)
"AppLovinSdk:network" tid=62 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.PriorityBlockingQueue.take (PriorityBlockingQueue.java:548) at com.applovin.impl.sdk.network.e$a.a (SourceFile:98) at com.applovin.impl.sdk.network.e$a.run (SourceFile:85)
"AppLovinSdk:communicator" tid=63 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"AppLovinSdk:shared_thread_pool" tid=64 Blocked at com.google.android.gms.ads.internal.client.zzej.zzw (com.google.android.gms:play-services-ads-lite@@22.1.0:1) at com.google.android.gms.ads.MobileAds.setRequestConfiguration (com.google.android.gms:play-services-ads-lite@@22.1.0:1) at com.applovin.mediation.adapters.GoogleMediationAdapter.setRequestConfiguration (GoogleMediationAdapter.java:825) at com.applovin.mediation.adapters.GoogleMediationAdapter.collectSignal (GoogleMediationAdapter.java:241) at com.applovin.impl.mediation.g$9.run (SourceFile:688) at com.applovin.impl.mediation.g$11.run (SourceFile:836) at com.applovin.impl.mediation.g.a (SourceFile:862) at com.applovin.impl.mediation.g.a (SourceFile:816) at com.applovin.impl.mediation.g.a (SourceFile:681) at com.applovin.impl.mediation.MediationServiceImpl.collectSignal (SourceFile:370) at com.applovin.impl.mediation.c.b.a (SourceFile:228) at com.applovin.impl.mediation.c.b.b (SourceFile:203) at com.applovin.impl.mediation.c.b.run (SourceFile:118) at com.applovin.impl.sdk.e.r$d.run (SourceFile:483) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:462) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:301) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"AppLovinSdk:shared_thread_pool" tid=65 Blocked at com.google.android.gms.ads.internal.client.zzej.zzw (com.google.android.gms:play-services-ads-lite@@22.1.0:1) at com.google.android.gms.ads.MobileAds.setRequestConfiguration (com.google.android.gms:play-services-ads-lite@@22.1.0:1) at com.applovin.mediation.adapters.GoogleMediationAdapter.setRequestConfiguration (GoogleMediationAdapter.java:825) at com.applovin.mediation.adapters.GoogleMediationAdapter.collectSignal (GoogleMediationAdapter.java:241) at com.applovin.impl.mediation.g$9.run (SourceFile:688) at com.applovin.impl.mediation.g$11.run (SourceFile:836) at com.applovin.impl.mediation.g.a (SourceFile:862) at com.applovin.impl.mediation.g.a (SourceFile:816) at com.applovin.impl.mediation.g.a (SourceFile:681) at com.applovin.impl.mediation.MediationServiceImpl.collectSignal (SourceFile:370) at com.applovin.impl.mediation.c.b.a (SourceFile:228) at com.applovin.impl.mediation.c.b.b (SourceFile:203) at com.applovin.impl.mediation.c.b.run (SourceFile:118) at com.applovin.impl.sdk.e.r$d.run (SourceFile:483) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:462) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:301) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Thread-17" tid=66 Native
"pool-42-thread-1" tid=67 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll (SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"AppLovinSdk:anr_detector" tid=68 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"AppLovinSdk:Max-Unity-Plugin:shared" tid=70 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"AsyncTask #1" tid=71 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:459) at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.take (SynchronousQueue.java:920) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-49-thread-1" tid=72 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"TokenRefresher" tid=73 Native
at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:336) at android.os.Looper.loop (Looper.java:174) at android.os.HandlerThread.run (HandlerThread.java:67)
"pool-54-thread-1" tid=74 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-37-thread-1" tid=76 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-38-thread-1" tid=77 Timed Waiting at java.lang.Object.wait (Native method) at java.lang.Object.wait (Object.java:442) at com.adcolony.sdk.f.a (SourceFile:3) at com.adcolony.sdk.k.a (SourceFile:369) at com.adcolony.sdk.AdColony.b (SourceFile:61) at com.adcolony.sdk.AdColony$g.run (SourceFile:1) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-57-thread-1" tid=78 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-45-thread-1" tid=75 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-56-thread-1" tid=79 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"pool-45-thread-2" tid=80 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"PlayBillingLibrary-1" tid=81 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"PlayBillingLibrary-2" tid=82 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"PlayBillingLibrary-3" tid=83 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Thread-21" tid=84 Timed Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109) at java.util.concurrent.LinkedBlockingQueue.poll (LinkedBlockingQueue.java:467) at com.adcolony.sdk.i0$b.run (SourceFile:1) at java.lang.Thread.run (Thread.java:919)
"Thread-63" tid=85 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.LinkedTransferQueue.awaitMatch (LinkedTransferQueue.java:730) at java.util.concurrent.LinkedTransferQueue.xfer (LinkedTransferQueue.java:640) at java.util.concurrent.LinkedTransferQueue.take (LinkedTransferQueue.java:1348) at com.unity.androidnotifications.UnityNotificationBackgroundThread.run (UnityNotificationBackgroundThread.java:147)
"PlayBillingLibrary-4" tid=86 Waiting at sun.misc.Unsafe.park (Native method) at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) at java.lang.Thread.run (Thread.java:919)
"Thread-62" tid=8662 Unknown
"Job.Worker 0" tid=8663 Unknown
"Job.Worker 1" tid=8664 Unknown
"Job.Worker 2" tid=8665 Unknown
"Background Job." tid=8666 Unknown
"Thread-15" tid=8667 Unknown
"Thread-66" tid=8668 Unknown
"Thread-40" tid=8669 Unknown
"Thread-68" tid=8670 Unknown
"Background Job." tid=8671 Unknown
"Background Job." tid=8672 Unknown
"Background Job." tid=8673 Unknown
"Background Job." tid=8674 Unknown
"Thread-64" tid=8675 Unknown
"Background Job." tid=8676 Unknown
"Background Job." tid=8677 Unknown
"Thread-67" tid=8678 Unknown
"Background Job." tid=8679 Unknown
"Background Job." tid=8680 Unknown
"Thread-19" tid=8681 Unknown
"BatchDeleteObje" tid=8682 Unknown
"Loading.AsyncRe" tid=8683 Unknown
"ged-swd" tid=8686 Unknown
"Filter0" tid=8692 Unknown
"Filter1" tid=8693 Unknown
"UnityMain" tid=8695 Unknown
"UnityMain" tid=8697 Unknown
"UnityGfxDeviceW" tid=8699 Unknown
"FMOD mixer thre" tid=8701 Unknown
"FMOD stream thr" tid=8702 Unknown
"Thread-9" tid=8707 Unknown
"Timer-Scheduler" tid=8745 Unknown
"UnityMain" tid=8758 Unknown
"IL2CPP Threadpo" tid=8762 Unknown
"IL2CPP Threadpo" tid=8763 Unknown
@SozapJacob - The stack trace you provided shows the AdColony SDK creating a WebView and the Google Mobile Ads SDK initializing. I would recommend reaching out to AdColony and/or Google about these ANRs. Alternatively, you can see my suggestions earlier in the thread here
If you have any other stack traces to share, please share them in a separate document to avoid large comments in this thread.
Ok thanks. Ill post the others i found here as well.
Applovin Version 11.11.3
stacktrace.SourceFile - com.applovin.impl.b.a.i.c.log stacktrace.SourceFile - com.applovin.impl.sdk.utils.k.onReceive.log stacktrace.SourceFile - com.applovin.impl.sdk.utils.JsonUtils.getString.log stacktrace.SourceFile - com.applovin.impl.mediation.a.a.a.log stacktrace.SourceFile - com.applovin.impl.mediation.a.f.b.log stacktrace.SourceFile - com.applovin.impl.mediation.a.a.F.log stacktrace.SourceFile - com.applovin.impl.sdk.c.e.a.log stacktrace.SourceFile - com.applovin.exoplayer2.ui.g.init.log stacktrace.SourceFile - com.applovin.exoplayer2.s.a.log stacktrace.SourceFile - com.applovin.exoplayer2.e.f.clinit.log stacktrace.SourceFile - com.applovin.impl.mediation.g.a.log
Edit: additional: stacktrace.Native method - J.N.M1Y_XVCN.log stacktrace.SourceFile - com.applovin.impl.sdk.o.F.log
Experiencing the very same issue than @SozapJacob , please post updates on this case @Lorenzo45 🙏
Hi!
We have integrated AppLovin MAX SDK with AdColony, Facebook, Fyber, AdMob, ironSource and Unity Ads mediated networks. Our ANR rate became higher than bad behaviour threshold and we loose our organic traffic from Google:
ANRs happen during reward ads shown or when application is stopped.
Is it known issue? Is it possible to avoid such behaviour?