OneSignal/OneSignal-Android-SDK

[Bug]: ANR com.onesignal.common.services.ServiceRegistrationReflection.resolve

ayushi-sk opened this issue · 3 comments

What happened?

ANR

Steps to reproduce?

OneSignal

What did you expect to happen?

No ANR please

OneSignal Android SDK version

5.1.2 and all others

Android version

13, 12, 11

Specific Android models

No response

Relevant log output

at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:89)
       at com.onesignal.common.services.ServiceProvider.getAllServices(ServiceProvider.kt:56)
       at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:72)
       at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
       at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
       at com.onesignal.common.services.ServiceProvider.getService$com_onesignal_core(ServiceProvider.kt:39)
       at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:239)
       at com.onesignal.OneSignal.initWithContext(OneSignal.kt:208)
       at com.onesignal.notifications.receivers.FCMBroadcastReceiver.onReceive(FCMBroadcastReceiver.kt:26)

Code of Conduct

  • I agree to follow this project's Code of Conduct

@ayushi-sk Thanks for reporting, but we don't have enough information to investigate. Could you provide the following information?

  1. Can you reproduce the issue on any of your devices or emulators? If so, please provide steps to reproduce
  2. Can you provide a full ANR report for all threads?
  3. What percentage of users or devices are affected by this ANR?

I'm also facing similar issue with latest SDK.

SDK Version

5.1.2

How to Reproduce

In Application - Oncreate

OneSignal.initWithContext(context,"ONESIGNAL_APP_ID")

Devices effecting

Realme GT 2 Pro
Oppo A78 5G
Oppo Realme 10 Pro+ 5G
OnePlus Nord CE 2 Lite 5G
Xiaomi Poco C55
OnePlus 11R 5G

37% Oneplus Devices

Android Version

13,14

ANR Triggered

main (runnable):tid=1 systid=28755 
#00 pc 0x4bf790 libart.so (art::DumpNativeStack + 108) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#01 pc 0x4b2940 libart.so (art::Thread::DumpStack const + 388) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x4b2280 libart.so (art::DumpCheckpoint::Run + 164) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x3c8c9c libart.so (art::Thread::RunCheckpointFunction + 148) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#04 pc 0x5afae0 libart.so (artTestSuspendFromCode + 232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#05 pc 0x35501c libart.so (art_quick_test_suspend + 156) (BuildId: 02bec5940be704b863f6514fc7d81c41)
       at java.lang.reflect.Executable.getMethodNameInternal(Native method)
       at java.lang.reflect.Method.getName(Method.java:115)
       at java.lang.reflect.Method$1.compare(Method.java:72)
       at java.lang.reflect.Method$1.compare(Method.java:67)
       at libcore.util.CollectionUtils.removeDuplicates(CollectionUtils.java:89)
       at java.lang.Class.getMethods(Class.java:2226)
       at com.onesignal.common.modeling.Model.initializeFromJson(Model.kt:98)
       at com.onesignal.core.internal.operations.impl.OperationModelStore.create(OperationModelStore.kt:68)
       at com.onesignal.core.internal.operations.impl.OperationModelStore.create(OperationModelStore.kt:30)
       at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:162)
       at com.onesignal.core.internal.operations.impl.OperationModelStore.<init>(OperationModelStore.kt:32)
       at java.lang.reflect.Constructor.newInstance0(Native method)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
       at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:89)
       at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
       at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
       at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:82)
       at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79)
       at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67)
       at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:523)
       at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
       at com.xxx.yyy.android.MyApplication.onCreate(MyApplication.kt:37)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1335)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7570)
       at android.app.ActivityThread.-$$Nest$mhandleBindApplication(unavailable)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2416)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:257)
       at android.os.Looper.loop(Looper.java:368)
       at android.app.ActivityThread.main(ActivityThread.java:8815)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

@bineeshbabu
We have released Android SDK 5.1.12 in an attempt to resolve the specific ANR issues. Please give it a try and let us know if the ANR still persists. https://github.com/OneSignal/OneSignal-Android-SDK/releases/tag/5.1.12