GNOME Bugzilla – Bug 766410
gnome-shell crashes while install gnome-clocks
Last modified: 2017-02-27 19:03:39 UTC
We are seeing this crash on Ubuntu GNOME for 3.18 and 3.20 when installing gnome-clocks. Looking at the code it looks like there could be a race condition between the files being installed and the schemas compiled Stacktrace
+ Trace 236244
Seeing this too on Fedora 24 with gnome-shell-3.20.4-1.fc24.x86_64
Created attachment 346831 [details] [review] util: Add AppSettingsMonitor When integrating with optional components like Clocks, it is not safe to access their GSettings right after the application became visible to the AppSystem: Installation is usually not atomic, so the .desktop file may appear before the settings schema, in which case Gio will abort due to an "invalid" schema ID. To address this, add a small helper class that wraps the settings access in a safe way.
Created attachment 346832 [details] [review] dateMenu: Use AppSettingsMonitor for world clocks When gnome-clocks is installed, there is currently a race between the GSettings schema being added to the database and the world clocks session trying to use it. The prize if we win that race is an abort in GIO, so use the newly added AppSettingsMonitor skip the race altogether.
Review of attachment 346831 [details] [review]: nifty
Review of attachment 346832 [details] [review]: looks fine
Attachment 346831 [details] pushed as b5130c5 - util: Add AppSettingsMonitor Attachment 346832 [details] pushed as 0353ebd - dateMenu: Use AppSettingsMonitor for world clocks