Open shefich opened 2 years ago
I see the same issue in our Firebase Crashlytics on nova 3i (Android 9). SDK 3.0.2 Unity 2020.3.36f1
Fatal Exception: java.lang.IllegalStateException: 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.
at androidx.work.impl.WorkManagerImpl.getInstance(WorkManagerImpl.java:158)
at androidx.work.WorkManager.getInstance(WorkManager.java:184)
at com.onesignal.OSNotificationRestoreWorkManager.beginEnqueueingWork(OSNotificationRestoreWorkManager.java:48)
at com.onesignal.OneSignal.handleActivityLifecycleHandler(OneSignal.java:968)
at com.onesignal.OneSignal.init(OneSignal.java:845)
at com.onesignal.OneSignal.setAppId(OneSignal.java:728)
at com.onesignal.OneSignal.reassignDelayedInitParams(OneSignal.java:1174)
at com.onesignal.OneSignal.onRemoteParamSet(OneSignal.java:882)
at com.onesignal.OneSignal$7.complete(OneSignal.java:1115)
at com.onesignal.OneSignalRemoteParams.processJson(OneSignalRemoteParams.java:206)
at com.onesignal.OneSignalRemoteParams.access$100(OneSignalRemoteParams.java:12)
at com.onesignal.OneSignalRemoteParams$1.onSuccess(OneSignalRemoteParams.java:151)
at com.onesignal.OneSignalRestClient$5.run(OneSignalRestClient.java:292)
at java.lang.Thread.run(Thread.java:784)
Still have this error. I tried 3.0.3 and 3.0.4.
Fatal Exception: java.lang.IllegalStateException: 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. at androidx.work.impl.WorkManagerImpl.getInstance(WorkManagerImpl.java:158) at androidx.work.WorkManager.getInstance(WorkManager.java:184) at com.onesignal.OSNotificationRestoreWorkManager.beginEnqueueingWork(OSNotificationRestoreWorkManager.java:48) at com.onesignal.OneSignal.handleActivityLifecycleHandler(OneSignal.java:975) at com.onesignal.OneSignal.init(OneSignal.java:852) at com.onesignal.OneSignal.setAppId(OneSignal.java:735) at com.onesignal.OneSignal.reassignDelayedInitParams(OneSignal.java:1181) at com.onesignal.OneSignal.onRemoteParamSet(OneSignal.java:889) at com.onesignal.OneSignal$7.complete(OneSignal.java:1122) at com.onesignal.OneSignalRemoteParams.processJson(OneSignalRemoteParams.java:211) at com.onesignal.OneSignalRemoteParams.access$100(OneSignalRemoteParams.java:12) at com.onesignal.OneSignalRemoteParams$1.onSuccess(OneSignalRemoteParams.java:156) at com.onesignal.OneSignalRestClient$5.run(OneSignalRestClient.java:279) at java.lang.Thread.run(Thread.java:780)
How can I fix the issue?
Steps to reproduce:
Same, I created one but I guess is the same issue https://github.com/OneSignal/OneSignal-Unity-SDK/issues/558
i am facing this issue with latest Onesignal unity sdk i dont know what to do?
Thanks for reporting, we looking for additional details to narrow down the cause of this issue. Can you fill out the requested details on this Github issue so we can try to find the root cause? https://github.com/OneSignal/OneSignal-Android-SDK/issues/1672
Either create and test "custom WorkManagerInitializer" by yourself, or give us an example script to use in Unity (not in Android Studio). We will test it and will give you results. For you and other people who are facing same crashes.
Either create and test "custom WorkManagerInitializer" by yourself, or give us an example script to use in Unity (not in Android Studio). We will test it and will give you results. For you and other people who are facing same crashes.
How can i create "custom WorkManagerInitializer" in unity at runtime? before One-singnal initialisation.
@toseefhaiderkhansugguu check the link provided by @jkasten2 and ask him once again. As I see more people (like me) don't understand how to fix or at least try to fix the issue.
Has anybody tried to increase the initOrder in the WorkerManagerInitializer? I had not time to test it I guess by adding this piece in the AndroidManifest, then it should be merged.
<provider
android:name="androidx.startup.InitializationProvider"
android:exported="false"
android:initOrder="100"
android:authorities="dk.tactile.beebrilliant.androidx-startup">
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup" />
</provider>
@Martin-Gonzalez90 it doesn't fix the issue.
try to initialize One Signal after all of your app Start methods you will see some improvements, I haven't seen any crashes today but still not satisfied its not a solution :/
@toseefhaiderkhansugguu Thanks for letting us know you can sometimes reproduce the issue, this is key since we haven't seen anyone reproduce the issue themselves (only seen end-user crash reports).
Could you share your FULL logcat (with VERBOSE logging). We are mostly concerned about what happens just before this line, and all the way to the crash (including the crash itself)
Initializing WorkManager with default configuration.
If you don't see this line, that is ok, please still post the full logcat. Please also feel free to reach out to OneSignal support team referencing this issue and including your full logcat.
Logcat results you mean unity android logcat results? I dont know how to use android studio i can only share unity android logcat result
@toseefhaiderkhansugguu There are a few ways to get the full logcat.
adb logcat
adb logcat > myadbcat.txt
, it logs forever so stop it (with Control+C) once you run into the issue.@toseefhaiderkhansugguu There are a few ways to get the full logcat.
Unity's Android Logcat Package
- If you run into issues with it not finding devices you may have to restart Unity, or your system (or kill the adb background process)
From the terminal with
adb logcat
- You can pipe this to a file by running
adb logcat > myadbcat.txt
, it logs forever so stop it (with Control+C) once you run into the issue.With Android Studio
- Can can still build and run your app like normal with Unity, you can simply use Android Studio to view the logcat.
Can you please provide your email ? i manged to reproduce this crash i want to share logical results
Hi @toseefhaiderkhansugguu, thanks so much.
You can email support@onesignal.com and reference this issue.
support@onesignal.com
Check Email
@toseefhaiderkhansugguu Thanks for the logs! I do not see "Initializing WorkManager with default configuration." or any other WorkManager before the "WorkManager is not initialized properly" crash. I see other debug log entries so I think you captured everything correctly.
Can you let us know the following details?
Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml
Temp\gradleOut\launcher\build\intermediates\manifest_merge_blame_file\release\manifest-merger-blame-release-report.txt
@toseefhaiderkhansugguu Thanks for the logs! I do not see "Initializing WorkManager with default configuration." or any other WorkManager before the "WorkManager is not initialized properly" crash. I see other debug log entries so I think you captured everything correctly.
Can you let us know the following details?
Yes i haven't seen any crash on high end devices we mostly test app on low end devices
Oppo A12 Android version 9 and HUAWEI y7 Prime with android 8.1.0
Sent on email
Could you share your APK?
- APK is probably too large for an email. So you will need to share a link to it instead.
Thanks for the logs, I see the built AndroidManifest.xml
contains the correct entries for the WorkManger to start:
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="com.package.example.androidx-startup"
android:exported="false" >
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup" />
<meta-data
android:name="androidx.lifecycle.ProcessLifecycleInitializer"
android:value="androidx.startup" />
</provider>
(if this was missing it would have an issue on all devices).
We don't have these specific tests to test with. I suspect the issue might be specific to a range of models. Would it be possible to also provide:
androidx-startup
was skipped for a reason.Thanks for the logs, I see the built
AndroidManifest.xml
contains the correct entries for the WorkManger to start:<provider android:name="androidx.startup.InitializationProvider" android:authorities="com.package.example.androidx-startup" android:exported="false" > <meta-data android:name="androidx.work.WorkManagerInitializer" android:value="androidx.startup" /> <meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup" /> </provider>
(if this was missing it would have an issue on all devices).
We don't have these specific tests to test with. I suspect the issue might be specific to a range of models. Would it be possible to also provide:
- Right now i have produced the crash on oppo so i am sharing full log on email
I will try to produce this on HUAWEI now Yes both crashes are on app start at the time of initlization
@jkasten2 Tested same scenario on HUAWEI for hours and I am not able to re produce crash on it I don't know what is happening.. what should we do next ?
@toseefhaiderkhansugguu I took a look but didn't see anything (even Oppo specific log entries) that would relate to providers or workmanger. It is still unknown why we are not seeing "Initializing WorkManager with default configuration." in your logs.
I do however see some other errors like this on your app startup they could be causing an issue.
Rejecting re-init on previously-failed class java.lang.Class<di2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor;
...
at void com.google.android.gms.ads.internal.webview.ac.<init>(com.google.android.gms.ads.internal.webview.aw,
Also:
Rejecting re-init on previously-failed class java.lang.Class<com.google.android.finsky.cloudsearch.PlayCloudSearchService>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/service/cloudsearch/CloudSearchService
@toseefhaiderkhansugguu Looks like these errors are coming from a Google Ads and CloudSearchService plugins. Can you try resolving it to see if it helps? You could temporary remove it if you can't find how to fix this specific error, just to see if these errors are the cause.
@toseefhaiderkhansugguu I took a look but didn't see anything (even Oppo specific log entries) that would relate to providers or workmanger. It is still unknown why we are not seeing "Initializing WorkManager with default configuration." in your logs.
Possibly related errors
I do however see some other errors like this on your app startup they could be causing an issue.
Rejecting re-init on previously-failed class java.lang.Class<di2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor; ... at void com.google.android.gms.ads.internal.webview.ac.<init>(com.google.android.gms.ads.internal.webview.aw,
Also:
Rejecting re-init on previously-failed class java.lang.Class<com.google.android.finsky.cloudsearch.PlayCloudSearchService>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/service/cloudsearch/CloudSearchService
Next Steps
@toseefhaiderkhansugguu Looks like these errors are coming from a Google Ads and CloudSearchService plugins. Can you try resolving it to see if it helps? You could temporary remove it if you can't find how to fix this specific error, just to see if these errors are the cause.
@jkasten2 can you please tell me Firebase Messaging package is necessary for One-signal push notification?
@toseefhaiderkhansugguu OneSignal does not need the Unity Firebase Messaging package. You can remove it if you don't need it.
firebase-messaging
under the hood, but that isn't exposed to Unity.Has anyone fixed this issue or have any updates from the devs?
@Mustafax06 we added a speculative workaround to the "WorkManager is not initialized" issue in OneSignal-Unity-SDK 3.0.10.
We haven't see any new reports of "not initialized" errors since then, however different but similar error "already initialized" has come up since then.
Have you updated to OneSignal-Unity-SDK 3.0.10 or newer and still seeing this issue?
Hi all, we made updates to Work Manager in Release 5.1.15 for the User Model SDK and Release 4.8.10 for the Player Model SDK.
Hi all, we made updates to Work Manager in Release 5.1.15 for the User Model SDK and Release 4.8.10 for the Player Model SDK.
Need update for version 3.x.x
What happened?
Th latest SDK version 3.0.2 gives me such error: Non-fatal Exception: java.lang.Exception AndroidJavaException : java.lang.IllegalStateException: 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.
Steps to reproduce?
What did you expect to happen?
Not to have this error
Unity version
2020.3.34
OneSignal Unity SDK version
3.0.2
Platform
Android
Relevant log output
Code of Conduct