GDM crashes when dconf's GIO_EXTRA_MODULES are in scope
See https://github.com/NixOS/nixpkgs/issues/149539 for the full context.
On NixOS, GDM crashes when GIO_EXTRA_MODULES
is set in its environment with a value that includes the dconf GIO modules. The logs on failure includes these lines:
Dec 16 14:11:38 nixos /nix/store/qgjj9m7l5jam6a122qg2j41nyjm9pvrx-gdm-41.0/libexec/gdm-wayland-session[886]: gnome-session-binary[886]: GLib-GIO-DEBUG(+): _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
Dec 16 14:11:38 nixos gnome-session-binary[886]: GLib-GIO-DEBUG(+): _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
whereas successful logs include the lines
Dec 16 14:10:49 nixos /nix/store/qgjj9m7l5jam6a122qg2j41nyjm9pvrx-gdm-41.0/libexec/gdm-wayland-session[886]: gnome-session-binary[886]: GLib-GIO-DEBUG(+): _g_io_module_get_default: Found default implementation keyfile (GKeyfileSettingsBackend) for ‘gsettings-backend’
Dec 16 14:10:49 nixos gnome-session-binary[886]: GLib-GIO-DEBUG(+): _g_io_module_get_default: Found default implementation keyfile (GKeyfileSettingsBackend) for ‘gsettings-backend’
The crash is reproducible using this NixOS VM config with my gio-extra-modules branch of nixpkgs: nixos-rebuild build-vm -I nixpkgs=https://github.com/ncfavier/nixpkgs/archive/gio-extra-modules.tar.gz -I nixos-config=config.nix
It doesn't happen when AutomaticLoginEnable
is on (but it does when TimedLoginEnable
is on). It also doesn't happen after removing the line file-db:/path/to/gdm/share/gdm/greeter-dconf-defaults
from /etc/dconf/profile/gdm
.
Is this expected? If not, how can I help debug this?