Package: systemd Version: 204-8 Severity: normal Hi,
the gdm.service file goes: [Unit] Description=GNOME Display Manager Conflicts=getty@tty7.service plymouth-quit.service After=systemd-user-sessions.service getty@tty7.service plymouth-quit.service [Service] ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm3" ]' ExecStartPre=/usr/share/gdm/generate-config ExecStart=/usr/sbin/gdm3 ExecReload=/bin/kill -HUP $MAINPID ExecReload=/usr/share/gdm/generate-config Restart=always RestartSec=1s IgnoreSIGPIPE=no BusName=org.gnome.DisplayManager StandardOutput=syslog StandardError=inherit Running "systemctl reload gdm.service" works as expected. The two reload processes are run successfully. However, running in succession: systemctl daemon-reload # Wait whatever time you want systemctl reload gdm.service Makes the daemon receive a SIGTERM from PID 1. First of all, the daemon is actually reloaded: avril 27 14:32:24 kagura systemd[1]: Trying to enqueue job gdm.service/reload/replace avril 27 14:32:24 kagura systemd[1]: Installed new job gdm.service/reload as 3926 avril 27 14:32:24 kagura systemd[1]: Enqueued job gdm.service/reload as 3926 avril 27 14:32:24 kagura systemd[1]: Reloading GNOME Display Manager. avril 27 14:32:24 kagura systemd[1]: About to execute: /bin/kill -HUP $MAINPID avril 27 14:32:24 kagura systemd[1]: Forked /bin/kill as 4066 avril 27 14:32:24 kagura systemd[1]: gdm.service changed running -> reload avril 27 14:32:24 kagura systemd[1]: Child 4066 belongs to gdm.service avril 27 14:32:24 kagura systemd[1]: gdm.service: control process exited, code=exited status=0 avril 27 14:32:24 kagura systemd[1]: gdm.service running next control command for state reload avril 27 14:32:24 kagura systemd[1]: Forked /usr/share/gdm/generate-config as 4068 avril 27 14:32:24 kagura systemd[4068]: Executing: /usr/share/gdm/generate-config avril 27 14:32:24 kagura gdm3[3731]: Got HUP signal avril 27 14:32:24 kagura gdm3[3731]: GLib-GObject: g_object_ref: assertion 'G_IS_OBJECT (object)' failed avril 27 14:32:24 kagura gdm3[3731]: GLib-GObject: invalid unclassed pointer in cast to 'GdmSettings' avril 27 14:32:24 kagura gdm3[3731]: Settings Direct Init The last lines are from GDM which correctly receives SIGHUP as intended and does what it is supposed to do. After which, things don’t go so well: avril 27 14:32:24 kagura systemd[1]: Child 4068 belongs to gdm.service avril 27 14:32:24 kagura systemd[1]: gdm.service: control process exited, code=exited status=0 avril 27 14:32:24 kagura systemd[1]: gdm.service got final SIGCHLD for state reload avril 27 14:32:24 kagura systemd[1]: gdm.service changed reload -> stop-sigterm avril 27 14:32:24 kagura systemd[1]: gdm.service's D-Bus name org.gnome.DisplayManager no longer registered by :1.186 avril 27 14:32:25 kagura systemd[1]: gdm.service holdoff time over, scheduling restart. avril 27 14:32:25 kagura systemd[1]: Trying to enqueue job gdm.service/restart/fail avril 27 14:32:25 kagura systemd[1]: Installed new job gdm.service/restart as 3927 avril 27 14:32:25 kagura systemd[1]: Enqueued job gdm.service/restart as 3927 avril 27 14:32:25 kagura systemd[1]: gdm.service scheduled restart job. avril 27 14:32:25 kagura systemd[1]: Stopping GNOME Display Manager... avril 27 14:32:25 kagura systemd[1]: gdm.service changed auto-restart -> dead avril 27 14:32:25 kagura systemd[1]: Job gdm.service/restart finished, result=done avril 27 14:32:25 kagura systemd[1]: Converting job gdm.service/restart -> gdm.service/start avril 27 14:32:25 kagura systemd[1]: Starting GNOME Display Manager... avril 27 14:32:25 kagura systemd[1]: About to execute: /bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm3" ]' avril 27 14:32:25 kagura systemd[1]: Forked /bin/sh as 4075 avril 27 14:32:25 kagura systemd[1]: gdm.service changed dead -> start-pre avril 27 14:32:25 kagura systemd[1]: Child 4075 belongs to gdm.service avril 27 14:32:25 kagura systemd[1]: gdm.service: control process exited, code=exited status=0 avril 27 14:32:25 kagura systemd[1]: gdm.service running next control command for state start-pre avril 27 14:32:25 kagura systemd[1]: Child 4080 belongs to gdm.service avril 27 14:32:25 kagura systemd[1]: gdm.service: control process exited, code=exited status=0 avril 27 14:32:25 kagura systemd[1]: gdm.service got final SIGCHLD for state start-pre avril 27 14:32:25 kagura systemd[1]: About to execute: /usr/sbin/gdm3 avril 27 14:32:25 kagura systemd[1]: Forked /usr/sbin/gdm3 as 4083 avril 27 14:32:25 kagura systemd[1]: gdm.service changed start-pre -> start avril 27 14:32:25 kagura systemd[4083]: Executing: /usr/sbin/gdm3 After which the new daemon is started with success: avril 27 14:32:25 kagura gdm3[4083]: Enabling debugging avril 27 14:32:25 kagura gdm3[4083]: Changing user:group to Debian-gdm:Debian-gdm avril 27 14:32:25 kagura systemd[1]: gdm.service's D-Bus name org.gnome.DisplayManager now registered by :1.222 avril 27 14:32:25 kagura systemd[1]: gdm.service changed start -> running avril 27 14:32:25 kagura systemd[1]: Job gdm.service/start finished, result=done avril 27 14:32:25 kagura systemd[1]: Started GNOME Display Manager. avril 27 14:32:25 kagura gdm3[4083]: Successfully connected to D-Bus avril 27 14:32:25 kagura gdm3[4083]: GdmManager: GDM starting to manage displays The actual commands used for reloading don’t matter: replacing them with /bin/true yields the same result. However, removing the BusName=org.gnome.DisplayManager in gdm.service fixes the issue (although in this case I lose systemd tracking of the DBus service becoming available). -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org