Bug#780257: gdm3: if gdm3 fails, plymouth never quits

Simon McVittie smcv at debian.org
Wed Mar 11 09:25:53 UTC 2015


Package: gdm3
Version: 3.14.1-3
Severity: important
Tags: upstream patch

Steps to reproduce:

* make sure you have ssh access (or use an expendable VM) before proceeding!
* start with a systemd-booted system
* install plymouth and enable it (e.g. edit /etc/default/grub and
  add splash to the kernel command-line)
* install gdm3 and configure it as the default DM
* do something that completely breaks gdm3 (e.g. I removed
  /usr/lib/*/libXdmcp.so.6)

Expected (or at least preferred) result:

* plymouth-quit.service runs
* getty appears on tty1

Actual result:

* gdm.service Conflicts with plymouth-quit.service, so it does not run
  "naturally" (because GDM wants to handle the handover from plymouth
  to X11 itself)
* gdm failed to start (in this case because I deleted one of its libraries)
  so plymouth is never stopped
* plymouth-quit-wait.service never finishes
* ... so getty at tty*.service, which is After it, never starts
* there is no way to log in locally and fix the problem

I'd be filing this as grave if it could happen under normal circumstances,
but as it is, it isn't a problem unless gdm3 is broken in some way, so
I've reduced it to important.

Proposed patch, which also resolves #766462 (at least for kdm, I haven't
retried with wdm yet):

--- a/data/gdm.service.in	2015-03-11 09:04:52.017142905 +0000
+++ b/data/gdm.service.in	2015-03-11 09:09:52.605098426 +0000
@@ -2,8 +2,11 @@
 Description=GNOME Display Manager
 Conflicts=getty at tty@GDM_INITIAL_VT at .service plymouth-quit.service
 After=systemd-user-sessions.service getty at tty@GDM_INITIAL_VT at .service plymouth-quit.service
+# GDM takes responsibility for stopping plymouth, so if it fails
+# for any reason, make sure plymouth still stops
+OnFailure=plymouth-quit.service
 
 [Service]

Regards,
    S



More information about the pkg-gnome-maintainers mailing list