OneSignal-Android-SDK icon indicating copy to clipboard operation
OneSignal-Android-SDK copied to clipboard

[Bug]: Crash in com.onesignal.language.LanguageContext.getLanguage after calling pauseInAppMessages()

Open chokokatana opened this issue 1 year ago • 3 comments

What happened?

Got crash from user in the field who after reaching a certain part of the registration flow called pauseInAppMessages(false) to enable in app messages.

Steps to reproduce?

No reproducible steps.

What did you expect to happen?

No crash.

OneSignal Android SDK version

4.8.9

Android version

14

Specific Android models

* Google Pixel 8, Android 14

Relevant log output

Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'java.lang.Object n3.c.H' on a null object reference in method 'java.lang.String com.onesignal.k0.r0(com.onesignal.l0)'
       at com.onesignal.language.LanguageContext.getLanguage(LanguageContext.java:38)
       at com.onesignal.OSInAppMessageController.variantIdForMessage(OSInAppMessageController.java:277)
       at com.onesignal.OSInAppMessageController.displayMessage(OSInAppMessageController.java:807)
       at com.onesignal.OSInAppMessageController.attemptToShowInAppMessage(OSInAppMessageController.java:649)
       at com.onesignal.OSInAppMessageController.queueMessageForDisplay(OSInAppMessageController.java:633)
       at com.onesignal.OSInAppMessageController.evaluateInAppMessages(OSInAppMessageController.java:270)
       at com.onesignal.OSInAppMessageController.setInAppMessagingEnabled(OSInAppMessageController.java:1029)
       at com.onesignal.OneSignal.pauseInAppMessages(OneSignal.java:3163)
       at com.geodb.wallace.utils.SlowSignal$Companion$activateInAppMessages$1$1$1.invokeSuspend(SlowSignal.kt:100)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
       at android.os.Handler.handleCallback(Handler.java:959)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loopOnce(Looper.java:232)
       at android.os.Looper.loop(Looper.java:317)
       at android.app.ActivityThread.main(ActivityThread.java:8501)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

Code of Conduct

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

chokokatana avatar May 31 '24 08:05 chokokatana

Thanks for reaching out @chokokatana! We'll look into this and get back to you as soon as possible.

jennantilla avatar Jun 04 '24 19:06 jennantilla

@chokokatana do you call OneSignal.setLanguage() in your app?

Do you see this issue if you upgrade to the latest OneSignal-Android-SDK 5.x.x version?

jkasten2 avatar Jun 29 '24 20:06 jkasten2

  • No
  • Can't test.

chokokatana avatar Jul 01 '24 07:07 chokokatana

Hi @chokokatana, we haven't seen other reports of this crash and the team is no longer actively supporting and patching the v4 major version of this SDK.

I recommend to upgrade to v5 of our SDK. Please let us know if we can help you with the transition.

nan-li avatar Sep 12 '25 06:09 nan-li