← Back to team overview

desktop-packages team mailing list archive

[Bug 1400205] [NEW] network-manager may start before libsystemd-logind

 

Public bug reported:

When NetworkManager starts, it requests systemd login-monitor
notifications through the libsystemd-login sd_login_monitor_new(3) API.

This API will fail if the systemd-logind service has not been started,
since it directly accesses directories in /run/systemd. As far as I can
tell, systemd-logind in Utopic is started on-demand (through DBUS
service activation). So, there's no guarantee that it has been started
at the point during boot when NetworkMonitor is started. I attached a
patch to upstart .conf file with one way to fix it -- it contacts the
DBUS logind API within pre-start to ensure it has been started.

NOTE: you will not see the error in syslog -- NetworkManager logs it to
stderr which is /dev/null. If you enable --no-daemon on NetworkManager,
the error ("sd_login_monitor_new failed") should get logged to
/var/log/upstart/network-manager.log. NOTE: even with this fix, I saw
that sd_login_monitor_new failed -- I believe that's a bug in Utopic's
systemd
(https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1400203). I had
to patch both to resolve a suspend/resume issue for me.

Seen on:
Ubuntu 14.10
NetworkManager 0.9.8.8-0ubuntu28
libsystemd-login0 208-8ubuntu8

** Affects: network-manager (Ubuntu)
     Importance: Undecided
         Status: New

** Patch added: "network-manager-logind.patch"
   https://bugs.launchpad.net/bugs/1400205/+attachment/4275943/+files/network-manager-logind.patch

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/1400205

Title:
  network-manager may start before libsystemd-logind

Status in network-manager package in Ubuntu:
  New

Bug description:
  When NetworkManager starts, it requests systemd login-monitor
  notifications through the libsystemd-login sd_login_monitor_new(3)
  API.

  This API will fail if the systemd-logind service has not been started,
  since it directly accesses directories in /run/systemd. As far as I
  can tell, systemd-logind in Utopic is started on-demand (through DBUS
  service activation). So, there's no guarantee that it has been started
  at the point during boot when NetworkMonitor is started. I attached a
  patch to upstart .conf file with one way to fix it -- it contacts the
  DBUS logind API within pre-start to ensure it has been started.

  NOTE: you will not see the error in syslog -- NetworkManager logs it
  to stderr which is /dev/null. If you enable --no-daemon on
  NetworkManager, the error ("sd_login_monitor_new failed") should get
  logged to /var/log/upstart/network-manager.log. NOTE: even with this
  fix, I saw that sd_login_monitor_new failed -- I believe that's a bug
  in Utopic's systemd
  (https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1400203). I
  had to patch both to resolve a suspend/resume issue for me.

  Seen on:
  Ubuntu 14.10
  NetworkManager 0.9.8.8-0ubuntu28
  libsystemd-login0 208-8ubuntu8

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1400205/+subscriptions


Follow ups

References