Fixed
Status Update
Comments
ra...@google.com <ra...@google.com>
ra...@google.com <ra...@google.com> #2
Yigit, do you have time to fix it?
reemission of the same liveData is racy
reemission of the same liveData is racy
ap...@google.com <ap...@google.com> #3
yea i'll take it.
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #4
Thanks for the detailed analysis. This may not be an issue anymore since we've started using Main.immediate there but I' not sure; I'll try to create a test case.
Description
Version used: 1.0.0-alpha05
Devices/Android versions reproduced on: Nexus 5X API 26 emulator
1. Check out
2. Install the example-unsplash app (it has no launcher activity)
3. Install and run main app
4. Hit Activate, Set Wallpaper, Home and Lock Screen, then tap the Muzei icon to go to the main screen
5. Tap the Sources button on the bottom nav
6. Tap the 'Unsplash (Example)' title
Expected Result:
Wallpaper from the Unsplash (Example) source loads
Actual Results:
30 seconds after tapping the button, the following log message appears:
W/SQLiteConnectionPool: The connection pool for database '/data/user/0/net.nurik.roman.muzei/databases/androidx.work.workdb' has been unable to grant a connection to thread 5076 (pool-5-thread-1) with flags 0x2 for 30.002 seconds.
Connections: 0 active, 1 idle, 1 available.
WorkManager now appears permanently deadlocked and no work will fire ever again. Force stopping and restarting the app unwedges the app temporarily (you'll be able to see artwork from the Unsplash source and hit the >> next artwork button), but if you switch back to the Featured Art source, it deadlocks again.
The Work that fires when you select a source is the ProviderChangedWorker:
It enqueues a periodic work request from within the one time work request.
Confirmed that reverting back to alpha04 fixes the issue.