Open eugurguner opened 2 years ago
Hi @eugurguner,
Thank you for reporting this issue. This is an ANR that has been reported by others, and that we are investigating.
Please let us know some information:
OneSignal-Android-SDK
?4.7.0 - 4.8.0
. Can you narrow this down, or give more details about what versions you used? This may also be related to the first question above. @nan-li Hello,
I would like to answer your questions,
Yes, I have upgraded OneSignal-Android-SDK versions. However, other than I have upgraded gradle version in Android project but I do not think that would effect OneSignal in that way.
Yes, I listed SDK versions as a range 4.7.0 - 4.8.0 because I always keep my dependencies up to date. So, I can say that I follow every update of OneSignal and used.
This ANR happened in the approximately 3 percent of all users.
We've seen this too. Here are the stats I have for ANRs in recent releases:
So it looks like the number of occurrences has accelerated in 4.81 vs 4.80
These ANRs are happening to a very small percentage of users, but app-wide are the most common ANRs reported.
Hi @eugurguner and @jt-gilkeson,
Thank you for sharing those details. As a workaround while we investigate solutions, if you don't need location points in OneSignal, you can call OneSignal.setLocationShared(false)
to disable these location updates.
@nan-li thank you. I just wanted to update that this issue keeps happening. Therefore, I used the function OneSignal.setLocationShared(false)
as you mentioned.
It is weird, Why after closing the location still getting location related crashes?
I did also set:
OneSignal.setLocationShared(false)
Still getting the same ANR!
Root Blocking:
OSH_LocationHandlerThread (timed waiting):tid=100 systid=27762
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1358)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
at com.google.android.gms.internal.location.zzau.getLastLocation(com.google.android.gms:play-services-location@@21.0.1:12)
at com.onesignal.GMSLocationController$FusedLocationApiWrapper.getLastLocation(GMSLocationController.java:210)
at com.onesignal.GMSLocationController$GoogleApiClientListener.onConnected(GMSLocationController.java:134)
at com.google.android.gms.common.internal.zak.zad(com.google.android.gms:play-services-base@@18.1.0:11)
at com.google.android.gms.common.api.internal.zabe.zab(com.google.android.gms:play-services-base@@18.1.0:3)
at com.google.android.gms.common.api.internal.zaaw.zaC(com.google.android.gms:play-services-base@@18.1.0:11)
at com.google.android.gms.common.api.internal.zaaw.zag(com.google.android.gms:play-services-base@@18.1.0:4)
at com.google.android.gms.common.api.internal.zabi.onConnected(com.google.android.gms:play-services-base@@18.1.0:2)
at com.google.android.gms.common.api.internal.zat.onConnected(com.google.android.gms:play-services-base@@18.1.0:1)
at com.google.android.gms.common.internal.zah.onConnected(com.google.android.gms:play-services-base@@18.1.0:1)
at com.google.android.gms.common.internal.zzf.zzd(com.google.android.gms:play-services-basement@@18.1.0:10)
at com.google.android.gms.common.internal.zza.zza(com.google.android.gms:play-services-basement@@18.1.0:4)
at com.google.android.gms.common.internal.zzc.zze(com.google.android.gms:play-services-basement@@18.1.0:3)
at com.google.android.gms.common.internal.zzb.handleMessage(com.google.android.gms:play-services-basement@@18.1.0:31)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
Triggered ANR:
main (blocked):tid=1 systid=27511 | waiting to lock <0x0b415e47> (com.onesignal.d0$a) held by thread 100
at com.onesignal.LocationController.onFocusChange(LocationController.java:324)
at com.onesignal.OneSignal.onAppFocus(OneSignal.java:1409)
at com.onesignal.OSFocusHandler.startOnFocusWork(OSFocusHandler.kt:54)
at com.onesignal.ActivityLifecycleHandler.handleFocus(ActivityLifecycleHandler.java:191)
at com.onesignal.ActivityLifecycleHandler.onActivityResumed(ActivityLifecycleHandler.java:95)
at com.onesignal.ActivityLifecycleListener.onActivityResumed(ActivityLifecycleListener.java:91)
at android.app.Application.dispatchActivityResumed(Application.java:436)
at android.app.Activity.dispatchActivityResumed(Activity.java:1408)
at android.app.Activity.onResume(Activity.java:1934)
at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:310)
at com.moe.app.activities.base.BaseActivity.onResume(BaseActivity.kt:164)
at com.moe.app.activities.main.MainActivity.onResume(MainActivity.kt:306)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1456)
at android.app.Activity.performResume(Activity.java:8238)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4552)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4597)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2130)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:8001)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:635)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Same problem here! We recently updated the OneSignal SDK to version 4.8.3.
Did anyone manage to find a solution to this problem? I reported the same bug here. It continues to be at the top of our ANRs list, and I'm still unable to determine the root cause. I've also upgraded the OneSignal SDK to the latest version, but the issue persists.
+1
any update on the above issue we are getting multiple anr due to this
What happened?
Since from May 24th, 32 of my users had an ANR issue of com.onesignal.GMSLocationController$FusedLocationApiWrapper.requestLocationUpdates (GMSLocationController.java:201).
Environment
What version of the Android SDK are you using? 4.7.0 - 4.8.0 How did you add the SDK to your project ? Maven
Anything else: A lot of these instances don't have any stack traces and the ones that have as the thread with below stack trace blocked.
Steps to reproduce?
What did you expect to happen?
I expected that no ANR issue would happen to any of my users.
OneSignal Android SDK version
Release 4.7.0 - 4.8.0
Android version
12, 11
Specific Android models
Relevant log output
Code of Conduct