Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: OneSignal 5.1.2 NullPointerException on OneSignal initialization #1990

Closed
1 task done
bundleberk opened this issue Feb 13, 2024 · 6 comments
Closed
1 task done

Comments

@bundleberk
Copy link

bundleberk commented Feb 13, 2024

What happened?

I'm using OneSignal 5.1.2 on my android project. Some of my users are getting a nullpointerexception crash when initializing onesignal using OneSignal.initWithContext in application's onCreate.

Steps to reproduce?

I was not able to reproduce this myself.

What did you expect to happen?

Seems like SDK's ApplicationService.getAppContext cannot get the context I pass to OneSignal.initWithContext. This should not happen.

OneSignal Android SDK version

Release 5.1.2

Android version

13, 12, 11, 10, 9, 6

Specific Android models

No response

Relevant log output

Caused by java.lang.NullPointerException:
       at com.onesignal.core.internal.application.impl.ApplicationService.getAppContext(ApplicationService.kt:40)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.getSharedPrefsByName(PreferencesService.kt:234)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.get(PreferencesService.kt:134)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.getString(PreferencesService.kt:42)
       at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:159)
       at com.onesignal.common.modeling.SimpleModelStore.<init>(SimpleModelStore.kt:23)
       at com.onesignal.core.internal.config.ConfigModelStore.<init>(ConfigModelStore.kt:8)
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       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.ServiceProvider.getService$com_onesignal_core(ServiceProvider.kt:39)
       at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:199)
       at com.onesignal.OneSignal.initWithContext(OneSignal.kt:135)
       at com.dwarfplanet.bundle.v5.data.manager.OneSignalManager.init(OneSignalManager.kt:31)
       at com.dwarfplanet.bundle.v5.app.BundleApplication.initOneSignal(BundleApplication.kt:514)
       at com.dwarfplanet.bundle.v5.app.BundleApplication.onCreate(BundleApplication.kt:63)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6582)
       at android.app.ActivityThread.access$1400(ActivityThread.java:224)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:224)
       at android.app.ActivityThread.main(ActivityThread.java:7562)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

Code of Conduct

  • I agree to follow this project's Code of Conduct
@tikidunpon
Copy link

We had the same problem with 5.1.2 and downgraded our SDK to 4.8.6.

II will provide additional context when the crash occurs.

Frequency of Occurrence

About. 0.1% of users (10 in 10,000)

Android version

8〜14

Specific Android models

Occurs on a variety of devices.

Device Status

96% background

Relevant log output

Almost the same comment as above.


Hopefully the problem will be resolved soon.

@bundleberk
Copy link
Author

I also had to downgrade the SDK to 4.8.7, waiting for the updates on this one.

@area51bis
Copy link

Crash information. I hope it will be helpful:

ApplicationService getAppContext

Fatal Exception: java.lang.RuntimeException: Unable to start receiver com.onesignal.notifications.receivers.FCMBroadcastReceiver: java.lang.reflect.InvocationTargetException
       at android.app.ActivityThread.handleReceiver(ActivityThread.java:3325)
       at android.app.ActivityThread.-wrap17()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1766)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:192)
       at android.app.ActivityThread.main(ActivityThread.java:6754)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828)

Caused by java.lang.reflect.InvocationTargetException:
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
       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.ServiceProvider.getService$com_onesignal_core(ServiceProvider.kt:39)
       at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:199)
       at com.onesignal.OneSignal.initWithContext(OneSignal.kt:208)
       at com.onesignal.notifications.receivers.FCMBroadcastReceiver.onReceive(FCMBroadcastReceiver.kt:26)
       at android.app.ActivityThread.handleReceiver(ActivityThread.java:3318)
       at android.app.ActivityThread.-wrap17()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1766)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:192)
       at android.app.ActivityThread.main(ActivityThread.java:6754)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828)

Caused by java.lang.NullPointerException:
       at com.onesignal.core.internal.application.impl.ApplicationService.getAppContext(ApplicationService.kt:39)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.getSharedPrefsByName(PreferencesService.kt:234)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.get(PreferencesService.kt:134)
       at com.onesignal.core.internal.preferences.impl.PreferencesService.getString(PreferencesService.kt:42)
       at com.onesignal.common.modeling.ModelStore.load(ModelStore.kt:165)
       at com.onesignal.common.modeling.SimpleModelStore.<init>(SimpleModelStore.kt:23)
       at com.onesignal.core.internal.config.ConfigModelStore.<init>(ConfigModelStore.kt:8)
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
       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.ServiceProvider.getService$com_onesignal_core(ServiceProvider.kt:39)
       at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:199)
       at com.onesignal.OneSignal.initWithContext(OneSignal.kt:208)
       at com.onesignal.notifications.receivers.FCMBroadcastReceiver.onReceive(FCMBroadcastReceiver.kt:26)
       at android.app.ActivityThread.handleReceiver(ActivityThread.java:3318)
       at android.app.ActivityThread.-wrap17()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1766)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:192)
       at android.app.ActivityThread.main(ActivityThread.java:6754)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828)

@jkasten2
Copy link
Member

jkasten2 commented Mar 1, 2024

We have a fix that will lower and possibly fix all crashes related to this null Context being thrown from initWithContext issue in the OneSignal-Android-SDK 5.1.6 release.

@bundleberk, @area51bis, @tikidunpon if you continue to seeing this issue after updating to 5.1.6 please let us know the new percentages of crashes the new stack traces.

@mreram
Copy link

mreram commented Jul 11, 2024

Still I'm seeing this crash on version 5.1.6

Caused by java.lang.NullPointerException
com.onesignal.core.internal.application.impl.ApplicationService.getAppContext (ApplicationService.kt:40)

Screenshot 2024-07-11 at 11 19 52 Screenshot 2024-07-11 at 11 19 57

@jkasten2
Copy link
Member

@mreram we made some additional changes in 5.1.7 to fix some additional null context issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants