OneSignal / OneSignal-Xamarin-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Xamarin app with OneSignal. https://onesignal.com
Other
105 stars 50 forks source link

Random crashes in 3.4.0 #158

Closed ninaada closed 5 years ago

ninaada commented 5 years ago

Description: Our Xamarin.Forms app seemingly crashes randomly out of nowhere (Only on Android, this doesn't happen in iOS). We were able to pull the below attached stacktrace from AppCenter logs. This started happening after we upgraded to 3.4.0 version of the Xamarin SDK.

Also I found that the same stacktrace was found in Onesignal Android SDK issues section https://github.com/OneSignal/OneSignal-Android-SDK/issues/811

Initially, we thought that it was crashing when app is pushed to background and it was being resumed again. But it has begun crashing even more randomly. We are not using location permission in our app, but from the stacktrace, we can see that the SDK is trying to do something related to location services. Please look into this and fix this so that the users wont experience random crashes. Thanks!

Environment version 3.4.0 Added from nuget

  1. Add version 3.4.0 of the Xamarin SDK to your project
  2. Initialize SDK with App Id

Stack trace: Java.Lang.NullPointerException: Attempt to read from field 'boolean com.onesignal.OneSignal$Builder.mPromptLocation' on a null object reference at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <286213b9e14c442ba8d8d94cc9dbec8e>:0 at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <286213b9e14c442ba8d8d94cc9dbec8e>:0 at Android.App.Activity.OnResume () [0x0000a] in <95d915721ad748108ff096dce8f8f32c>:0 at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.OnResume () [0x00000] in <ba0773091df94a579a45d99874fbdec8>:0 at Android.App.Activity.n_OnResume (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <95d915721ad748108ff096dce8f8f32c>:0 at (wrapper dynamic-method) System.Object.21(intptr,intptr) at java.lang.NullPointerException: Attempt to read from field 'boolean com.onesignal.OneSignal$Builder.mPromptLocation' on a null object reference at com.onesignal.OneSignal.startLocationUpdate(OneSignal.java:866) at com.onesignal.OneSignal.startRegistrationOrOnSession(OneSignal.java:847) at com.onesignal.OneSignal.doSessionInit(OneSignal.java:762) at com.onesignal.OneSignal.onAppFocus(OneSignal.java:1214) at com.onesignal.ActivityLifecycleHandler.handleFocus(ActivityLifecycleHandler.java:207) at com.onesignal.ActivityLifecycleHandler.onActivityResumed(ActivityLifecycleHandler.java:121) at com.onesignal.ActivityLifecycleListener.onActivityResumed(ActivityLifecycleListener.java:78) at android.app.Application.dispatchActivityResumed(Application.java:240) at android.app.Activity.onResume(Activity.java:1364) at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:514) at md51558244f76c53b6aeda52c8a337f2c37.FormsAppCompatActivity.n_onResume(Native Method) at md51558244f76c53b6aeda52c8a337f2c37.FormsAppCompatActivity.onResume(FormsAppCompatActivity.java:112) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361) at android.app.Activity.performResume(Activity.java:7361) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3765) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3830) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6944) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

rgomezp commented 5 years ago

Yes. We will be releasing a fix for this soon. Please follow the issue in that repo

EmilAlipiev commented 4 years ago

was that fixed in 3.5? I can't see anything specific in release notes.