[Bug 1382510] Re: systemd-logind upstart script is flawed

Martin Pitt martin.pitt at ubuntu.com
Fri Oct 17 11:19:26 UTC 2014


Argh, many thanks for pointing this out! What an obvious and silly
error.

This does not affect 14.10 as the upstart job for logind is gone
entirely in favor of D-BUS activation. But this must be fixed for 14.04.

** Also affects: systemd (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Changed in: systemd (Ubuntu)
       Status: New => Fix Released

** Changed in: systemd (Ubuntu Trusty)
       Status: New => Triaged

** Changed in: systemd (Ubuntu Trusty)
   Importance: Undecided => High

** Changed in: systemd (Ubuntu Trusty)
     Assignee: (unassigned) => Martin Pitt (pitti)

** Changed in: systemd (Ubuntu Trusty)
    Milestone: None => ubuntu-14.04.2

** Summary changed:

- systemd-logind upstart script is flawed
+ systemd-logind upstart script breaks if libpam-systemd is installed for more than one arch

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1382510

Title:
  systemd-logind upstart script breaks if libpam-systemd is installed
  for more than one arch

Status in “systemd” package in Ubuntu:
  Fix Released
Status in “systemd” source package in Trusty:
  Triaged

Bug description:
  /etc/init/systemd-logind.conf contains the following:

      # only start if PAM module is actually available, not if libpam-systemd is
      # removed but not purged
      [ -e /lib/*/security/pam_systemd.so ] || { stop; exit 0; }

  Which is a wrongly written script. It assumes that there is at most one file matching the wildcard. It is not true in my system.
  If your system have both libpam-systemd:amd64 and libpam-systemd:i386 then:

  # ls /lib/*/security/pam_systemd.so
  /lib/i386-linux-gnu/security/pam_systemd.so  /lib/x86_64-linux-gnu/security/pam_systemd.so

  and you get the following:

  # cat /var/log/upstart/systemd-logind.log 
  /proc/self/fd/9: 4: [: /lib/i386-linux-gnu/security/pam_systemd.so: unexpected operator
  systemd-logind stop/pre-start, process 2462

  systemd-logind does not start at all. This causes many bad things to
  happen later.

  There are many ways to fix this. For my purposes I removed the faulty
  line from the file. I don't know what is the expected behaviour. Maybe
  this one:

  ls /lib/*/security/pam_systemd.so &> /dev/null || { stop; exit 0; }

  
  This bug might be the root cause of other bugs. Like this one: #1372187 (and #1377727)

  
  My system info:

  # lsb_release -rd
  Description:	Ubuntu 14.04.1 LTS
  Release:	14.04
  # apt-cache policy libpam-systemd
  libpam-systemd:
    Installed: 204-5ubuntu20.7
    Candidate: 204-5ubuntu20.7

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1382510/+subscriptions



More information about the foundations-bugs mailing list