[Bug]: NullPointerException at SessionService.getScheduleBackgroundRunIn
What happened?
The app crashes in background
Steps to reproduce?
Caused by java.lang.NullPointerException:
at com.onesignal.session.internal.session.impl.SessionService.getScheduleBackgroundRunIn(SessionService.kt:43)
at com.onesignal.core.internal.background.impl.BackgroundManager.scheduleBackground(BackgroundManager.kt:86)
at com.onesignal.core.internal.background.impl.BackgroundManager.onUnfocused(BackgroundManager.kt)
at com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke(ApplicationService.kt:377)
at com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke(ApplicationService.kt:377)
at com.onesignal.common.events.EventProducer.fire(EventProducer.kt:50)
at com.onesignal.core.internal.application.impl.ApplicationService.handleLostFocus(ApplicationService.kt:377)
at com.onesignal.core.internal.application.impl.ApplicationService.onActivityStopped(ApplicationService.kt:198)
at android.app.Application.dispatchActivityStopped(Application.java:258)
at android.app.Activity.onStop(Activity.java:1950)
at androidx.fragment.app.FragmentActivity.onStop(FragmentActivity.java)
at androidx.appcompat.app.AppCompatActivity.onStop(AppCompatActivity.java)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1383)
at android.app.Activity.performStop(Activity.java:7568)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4266)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4318)
at android.app.ActivityThread.-wrap26()
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1757)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7000)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
### What did you expect to happen?
The app shouldn't crash
### OneSignal Android SDK version
5.1.20
### Android version
14
### Specific Android models
_No response_
### Relevant log output
_No response_
### Code of Conduct
- [X] I agree to follow this project's Code of Conduct
<!-- probot = {"onesignal-probot":{"response_time_in_business_days":5}} -->
Fatal Exception: java.lang.RuntimeException Unable to stop activity {Package Name.MainActivity}: java.lang.NullPointerException
Caused by java.lang.NullPointerException com.onesignal.session.internal.session.impl.SessionService.getScheduleBackgroundRunIn (SessionService.kt:43) com.onesignal.core.internal.background.impl.BackgroundManager.scheduleBackground (BackgroundManager.kt:86) com.onesignal.core.internal.background.impl.BackgroundManager.onUnfocused (BackgroundManager.kt:78) com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke (ApplicationService.kt:377) com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke (ApplicationService.kt:377) com.onesignal.common.events.EventProducer.fire (EventProducer.kt:48) com.onesignal.core.internal.application.impl.ApplicationService.handleLostFocus (ApplicationService.kt:377) com.onesignal.core.internal.application.impl.ApplicationService.onActivityStopped (ApplicationService.kt:198) android.app.Application.dispatchActivityStopped (Application.java:493)
OneSignal Android SDK version
onesignal_flutter: ^5.0.4
Android version
Android 12
Device
Brand:Vivo Model:V2058
Fatal Exception: java.lang.RuntimeException: Unable to stop activity {>>>HIDDEN_PACKAGNE_NAME<<</com.onesignal.notifications.activities.NotificationOpenedActivity}: java.lang.NullPointerException
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5906)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:5872)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:5943)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:240)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:205)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:177)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by java.lang.NullPointerException:
at com.onesignal.session.internal.session.impl.SessionService.getScheduleBackgroundRunIn(SessionService.kt:43)
at com.onesignal.core.internal.background.impl.BackgroundManager.scheduleBackground(BackgroundManager.kt:86)
at com.onesignal.core.internal.background.impl.BackgroundManager.onUnfocused(BackgroundManager.kt)
at com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke(ApplicationService.kt:377)
at com.onesignal.core.internal.application.impl.ApplicationService$handleLostFocus$1.invoke(ApplicationService.kt:377)
at com.onesignal.common.events.EventProducer.fire(EventProducer.kt:50)
at com.onesignal.core.internal.application.impl.ApplicationService.handleLostFocus(ApplicationService.kt:377)
at com.onesignal.core.internal.application.impl.ApplicationService.onActivityStopped(ApplicationService.kt:198)
at android.app.Application.dispatchActivityStopped(Application.java:510)
at android.app.Activity.dispatchActivityStopped(Activity.java:1589)
at android.app.Activity.onStop(Activity.java:2789)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1623)
at android.app.Activity.performStop(Activity.java:9236)
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5898)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:5872)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:5943)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:240)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:205)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:177)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
OneSignal 5.1.20 - Android
@jkasten2 Was this fixed in 5.1.20 ?
@fanwgwg @amrutkarsuraj @michael-winkler Thanks for reporting, this looks to be a very rare bug introduced in 5.1.19.
Based on the stack traces it looks like this happens if the app is backgrounded very shortly (~10-100ms) after OneSignal.initWithContext is called.
SessionService.start()was moved to a background thread to prevent some ANRs, however this almost makes this rare race condition possible.
A fix would be great @jkasten2 🙂
any fixes yet ?
we see the exact same. crash in our logs, although we are using the onesignal_flutter . any update on when it is gonna fix?
We also received a lot of crash information, and the crash indicator suddenly went up. When will it be fixed?
We also received a lot of crash information, and the crash indicator suddenly went up. When will it be fixed? Flutter: onesignal_flutter: ^5.2.1 Android: implementation 'com.onesignal:OneSignal:5.1.21'
We are having this crash in production too, please fix
Same here in React Native SDK! Please fix it asap
The Issue still exist..
Same issue in onesignal_flutter: ^5.2.6, need to fix please
This occurs in a rare case and is fixed in Android 5.1.25. Please upgrade to the latest SDK version and let us know if you see more of these.
This occurs in a rare case and is fixed in Android 5.1.25. Please upgrade to the latest SDK version and let us know if you see more of these.
Hi, I'm experiencing same crash with onesignal_flutter: ^5.2.6 on Android. Is there a known solution to fix this?