[yakkety regression] lightdm fails to install in a minimal environment

Bug #1581106 reported by Martin Pitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lightdm (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

systemd's cmdline-upstart-boot autopkgtest started to fail in yakkety [1] due to

Setting up lightdm (1.19.0-0ubuntu1) ...
Adding group `lightdm' (GID 116) ...
Done.
Adding system user `lightdm' (UID 112) ...
Adding new user `lightdm' (UID 112) with group `lightdm' ...
Creating home directory `/var/lib/lightdm' ...
usermod: no changes
usermod: no changes
usermod: no changes
Adding group `nopasswdlogin' (GID 117) ...
Done.
Job for lightdm.service failed because the control process exited with error code. See "systemctl status lightdm.service" and "journalctl -xe" for details.
invoke-rc.d: initscript lightdm, action "start" failed.
dpkg: error processing package lightdm (--configure):
 subprocess installed post-installation script returned error exit status 1

This is reproducible in a cloud instance/VM (or a server install, etc) with

  sudo apt-get install lightdm --no-install-recommends

$ sudo lightdm -d
[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.19.0, UID=0 PID=2262
[+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
[+0.01s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf
[+0.01s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf
[+0.01s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf
[+0.01s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf
[+0.01s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
[+0.02s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
[+0.02s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
[+0.02s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
[+0.02s] DEBUG: Registered seat module xlocal
[+0.02s] DEBUG: Registered seat module xremote
[+0.02s] DEBUG: Registered seat module unity
[+0.03s] DEBUG: Monitoring logind for seats
[+0.03s] DEBUG: New seat added from logind: seat0
[+0.03s] DEBUG: Seat seat0: Loading properties from config section Seat:*
[+0.03s] DEBUG: Seat seat0: Starting
[+0.03s] DEBUG: Seat seat0: Creating greeter session
[+0.04s] DEBUG: Seat seat0: Failed to find session configuration default
[+0.04s] DEBUG: Seat seat0: Failed to create greeter session
[+0.04s] DEBUG: Failed to start seat: seat0

So apparently something in 1.19 changed the handling of seats and now fails if there is no seat. That makes automated testing much harder as we don't have seats in these environments.

[1] https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-yakkety/yakkety/amd64/s/systemd/20160512_140212@/log.gz

ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: lightdm 1.19.0-0ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-22.39-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu3
Architecture: amd64
Date: Thu May 12 17:49:55 2016
ProcEnviron:
 TERM=vt220
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: lightdm
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Martin Pitt (pitti) wrote :
tags: added: regression-release
Revision history for this message
Martin Pitt (pitti) wrote :

Installation works with recommends, but that pulls in 560(!) packages/800 MB, and I'd rather avoid adding this extra weight on every test run.

Revision history for this message
Martin Pitt (pitti) wrote :

Installing lightdm-gtk-greeter and xserver-xorg helps. That's "only" 125 packages. But would still be nice to not fail the package install if the recommends are missing, like in xenial and before.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Don't know if it's related, but I can't currently log in to yakkety with the latest kernel, but it works fine with 4.4.0-21.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

The seat is being added, but it's failing to start a greeter (since you don't have one installed). I'm not sure how this would have worked in the past.

Not sure the correct behaviour should be here? It is valid to have lightdm installed without a greeter if appropriately configured (e.g. if you have autologin enabled).

Revision history for this message
Robert Ancell (robert-ancell) wrote :

What's pulling in LightDM? Perhaps we should change that depends.

Revision history for this message
Martin Pitt (pitti) wrote :

> I'm not sure how this would have worked in the past.

Ah, I know now -- when I do "sudo apt-get install --no-install-recommends lightdm" in xenial, lightdm.service is not started at all right after package installation.

So I think that's the regression -- I don't think it's a good idea to start a DM right after package installation, it might interfere with other DMs or running X sessions? Was that done on purpose?

> What's pulling in LightDM? Perhaps we should change that depends.

Some systemd autopkgtests pull in lightdm, mostly to ensure that boot works and lightdm comes up. In the "real" tests X.org gets configured with the dummy driver and the VM gets rebooted, so lightdm starts up fine. In the test that failed (cmdline-upstart-boot) I don't do this. But I don't install recommends there, thus I run into the "missing greeter" issue.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

This might have been triggered in bug 1292990. This changed:

 override_dh_installinit:
- dh_installinit --no-start
+ dh_installinit --no-restart-on-upgrade

Perhaps this is the wrong change?

Revision history for this message
Martin Pitt (pitti) wrote :

Well, I disagree that a display manager should start at install time. It's potentially too disruptive and as we've seen you might still need to configure it first before it actually works.

But anyway, I don't have a strong opinion about it, so please feel free to wontfix/invalid this.

summary: - [yakkety regression] lightdm fails to install
+ [yakkety regression] lightdm fails to install in a minimal environment
Changed in lightdm (Ubuntu):
status: New → Fix Committed
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lightdm - 1.19.1-0ubuntu1

---------------
lightdm (1.19.1-0ubuntu1) yakkety; urgency=medium

  * New upstream release:
  * debian/lightdm.dirs:
    - Rename "xlocal" seat type to "local". Using "xlocal" will continue to work
      but report a warning.
    - Ensure user configuration directories /etc/lightdm/lightdm.conf.d and
      /etc/guest-session exist
    - Use MIR_SERVER_HOST_SOCKET instead of MIR_SOCKET to report compositor
      socket to sessions. This used to work but no longer works in Mir 0.21
      (LP: #1583624)
    - Allow XMir to run on the xlocal seat using the new x-server-backend=mir
      option
    - Use only a single compositor on local seats (LP: #1594229)
    - Fix Mir greeter log filename having "(null)" in the name (LP: #1590582)
    - Copy fcitx/mozc rules so session works when these aren't installed
      (LP #1581187)
    - Revert lxsession change - it caused the AppArmor to fail to compile
  * debian/rules:
    - Revert dh_installinit change - we don't want to start LightDM on install
      (LP: #1581106)
  * debian/guest-account.sh:
  * debian/guest-session-setup.sh:
    - Source prefs.sh as privileged user to allow user modification
      (LP: #1581853)

 -- Robert Ancell <email address hidden> Mon, 20 Jun 2016 16:18:36 +1200

Changed in lightdm (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.