Comment 6 for bug 1930359

Revision history for this message
Matthew Ruffell (mruffell) wrote : Re: gdm fails to start in a VMware Horizon VDI environment with latest mutter 3.36.9-0ubuntu0.20.04.1 in focal-updates

Okay, the affected user has now started experiencing the issue again, and was forced to roll mutter back on their fleet.

We managed to get some logs this time, and we have determined what is happening.

When the user upgrades the mutter packages, particularly mutter-common, the libglib2.0-0 hook is called post-install to re-compile the gsettings gschemas into the binary file /usr/share/glib-2.0/schemas/gschemas.compiled

Processing triggers for libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.3) ...

For some reason or another, this fails or errors out, leaving the system with no /usr/share/glib-2.0/schemas/gschemas.compiled file present.

If the VDI was running, and you attempt to start a program, like nautilus, it fails to open, and you see the following in syslog:

Jul 1 09:28:05 hostname kernel: [510232.497360] traps: nautilus[523090] trap int3 ip:7f9118995295 sp:7ffe78b4de90 error:0 in libglib-2.0.so.0.6400.6[7f9118959000+84000]
Jul 1 09:28:05 hostname nautilus[523090]: No GSettings schemas are installed on the system

If you then reboot, gdm and gnome-session both fail to start, and you see a blank screen with a blinking cursor.

If you ssh in and check the logs, it is the same issue:

Jul 1 09:29:06 hostname kernel: [ 13.311371] traps: gnome-session-b[2304] trap int3 ip:7febfac7c295 sp:7ffe75338c60 error:0 in libglib-2.0.so.0.6400.6[7febfac40000+84000]
Jul 1 09:29:06 hostname gnome-session[2304]: gnome-session-binary[2304]: GLib-GIO-ERROR: No GSettings schemas are installed on the system
Jul 1 09:29:06 hostname gnome-session[2304]: aborting...
Jul 1 09:29:06 hostname gnome-session-binary[2304]: GLib-GIO-ERROR: No GSettings schemas are installed on the system#012aborting...
Jul 1 09:29:06 hostname gdm3: GdmDisplay: Session never registered, failing
Jul 1 09:29:06 hostname systemd[1]: session-c6.scope: Succeeded.
Jul 1 09:29:06 hostname gdm3: GdmLocalDisplayFactory: maximum number of X display failures reached: check X server log for errors
Jul 1 09:29:06 hostname gdm3: Child process -2282 was already dead.

You can reproduce the problem pretty easily. Take a started Ubuntu 20.04 Desktop VM and run:

$ sudo rm /usr/share/glib-2.0/schemas/gschemas.compiled

Then try open gedit or nautiuls and see them fail. Then try reboot, and you will meet the black screen with blinking cursor.

I looked at all the changes in mutter 3.36.9-0ubuntu0.20.04.1 and there doesn't seem to be any related to gsettings.

Maybe it has something to do with the gsettings in the affected user's environment? I will try ask for a tarball.

But what we do know, if that when we upgrade mutter, the gschemas.compiled is removed and never replaced, or is corrupted.