OneSignal-Android-SDK
OneSignal-Android-SDK copied to clipboard
[`WorkManager`] java.lang.IllegalStateException com.onesignal.OSNotificationRestoreWorkManager.beginEnqueueingWork
Description:
After migrating to SDK >4 I'm getting this errors on my Play Console, I cant reproduce it myself but userbase can .
Environment
Anything else:
java.lang.IllegalStateException
com.onesignal.OSNotificationRestoreWorkManager.beginEnqueueingWork
java.lang.RuntimeException
java.lang.RuntimeException:
at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4789)
at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4821)
at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2305)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:257)
at android.app.ActivityThread.main (ActivityThread.java:8192)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1015)
Caused by: java.lang.IllegalStateException:
at androidx.work.impl.WorkManagerImpl.getInstance (WorkManagerImpl.java:36)
at androidx.work.WorkManager.getInstance (WorkManager.java)
at com.onesignal.OSNotificationRestoreWorkManager.beginEnqueueingWork (OSNotificationRestoreWorkManager.java:27)
at com.onesignal.OneSignal.onAppFocusLogic (OneSignal.java:29)
at com.onesignal.OneSignal.onAppFocus (OneSignal.java:74)
at com.onesignal.ActivityLifecycleHandler.handleFocus (ActivityLifecycleHandler.java:71)
at com.onesignal.ActivityLifecycleHandler.onActivityResumed (ActivityLifecycleHandler.java:28)
at com.onesignal.ActivityLifecycleListener.onActivityResumed (ActivityLifecycleListener.java:4)
at android.app.Application.dispatchActivityResumed (Application.java:453)
at android.app.Activity.dispatchActivityResumed (Activity.java:1460)
at android.app.Activity.onResume (Activity.java:1998)
at android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1506)
at android.app.Activity.performResume (Activity.java:8254)
at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4779)
at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4821)
at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2305)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:257)
at android.app.ActivityThread.main (ActivityThread.java:8192)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1015)
@albomenti Could you let us know the device models and Android versions you are seeing the crash on?
Also could you provide the error message after "Caused by: java.lang.IllegalStateException:"? The Play console may not show it by default but this would be helpful for us to have.
You noted you are using the OneSignal SDK 4 or greater, can you let us know the exact version?
@jkasten2 i too have this issue
here is the excpetion
java.lang.IllegalStateException:
at androidx.work.impl.WorkManagerImpl.getInstance (WorkManagerImpl.java:140)
at androidx.work.WorkManager.getInstance (WorkManager.java:180)
at com.onesignal.OSNotificationWorkManager.beginEnqueueingWork$49ab0f00 (OSNotificationWorkManager.java:82)
at com.onesignal.NotificationBundleProcessor$3.onResult (NotificationBundleProcessor.java:436)
at com.onesignal.OSNotificationDataController$5.run (OSNotificationDataController.java:242)
at java.lang.Thread.run (Thread.java:818)
this crash was from Crash HTC Desire 10 pro Android 6.0 (SDK 23)
other devices are ris41 HTC Desire 10 pro Motorola Moto G (3rd Gen) Samsung Galaxy A51 Others
sdk version this occurs on
Android 6.0 (SDK 23) Android 11 (SDK 30) Android 7.0 (SDK 24) Android 9 (SDK 28
i use com.onesignal:OneSignal:4.6.0
me too!
Me too. Same problem
Putting this note here:
Seeing that this IllegalStateException
is coming from WorkManagerImpl.getInstance
The error message is probably this:
"WorkManager is not initialized properly. You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider."
Hi @mahmoudElfeel67, thanks for sharing the device and Android version information.
- When did you start experiencing this exception?
- Did it start occurring after updating OneSignal SDK version to
4.6.0
from a previous version? - Are you able to reproduce it yourself?
Hi @TaoGEe and @123dma,
- Can you provide device and Android versions experiencing the exception?
- Which OneSignal SDK version are you using?
- When did you start experiencing this exception?
- Are you able to reproduce it yourself?
Additional questions:
- Are you using a custom
WorkManager
configuration and initialization? - Do you have
android:multiprocess="true"
I believe the line references seem to indicate an older version of work-runtime
.
Looking at the source code for WorkManagerImpl.java
line 140 and WorkManager.java
line 180 seem to line up only for androidx.work:work-runtime:2.3.0-alpha02
and below.
It may be worth checking out which version of work-runtime
your app is actually using and need to update to a newer version?
@nan-li my app is using Gradle__androidx_work_work_runtime_2_1_0_aar is that what is causing the issue ? should i force some version ? i cant reprduce the issue
Hi @mahmoudElfeel67, it may be worth trying a newer version of androidx.work:work-runtime
like 2.7.1
.
For context, 2.1.0
was released in July 11, 2019.
@nan-li
Hi @TaoGEe and @123dma,
- Can you provide device and Android versions experiencing the exception? Samsung Galaxy A30 Samsung Galaxy A12 Samsung Galaxy A31 Samsung Galaxy A11 Motorola moto g(8) plus
- Which OneSignal SDK version are you using? 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.10, 0.99.99]' implementation 'com.onesignal:OneSignal:[4.0.0, 4.99.99]'
- When did you start experiencing this exception?
![]()
Are you able to reproduce it yourself? No Additional questions:
Are you using a custom
WorkManager
configuration and initialization? NoDo you have
android:multiprocess="true"
No
Thank you for the information @123dma and I am sorry for the delayed response.
Can you provide the version of androidx.work:work-runtime
you are using?
androidx.work:work-runtime
Hi @nan-li this version implementation 'androidx.work:work-runtime-ktx:2.7.1'
Hello everyone! Apologies that this issue has gone stale. Much of our work in the last few quarters have been on a new major release where many improvements and enhancements are introduced. We will continue to investigate 4.x.x bugs, though we encourage you to update to our latest release as that will be the most-supported release going forward. Please see our migration guide for full details on upgrading.
If this crash is still a current concern, please let us know and we will investigate further.