Bug#994006: libc6: NSS modules changes require a restart of systemd-logind, which is not possible

Aurelien Jarno aurel32 at debian.org
Thu Sep 9 17:26:19 BST 2021


Package: libc6
Version: 2.32-1
Severity: serious
X-Debbugs-Cc: pkg-systemd-maintainers at lists.alioth.debian.org

The NSS modules provided by glibc 2.32 require new symbols, which are
therefore not provided by libc6 2.31. This is why we require restarting
daemons after the new libc6 is installed.

systemd-logind is also using NSS modules, so it needs to be restarted.
Unfortunately that's not something possible without killing Xorg
sessions (see bug#919509). Not restarting systemd-logind means that it
is not able to load new NSS modules, howeveralready loaded modules are
still usable.

One visible consequence is that on systems where no user sessions have
been registered with systemd-logind, new sessions will fail to register
after the libc6 upgrade with the following king of error:

  sshd[647]: pam_systemd(sshd:session): Failed to create session: No such process

Not registering the session causes among other things XDG_RUNTIME_DIR to
not be defined (or even created), causing autopkgtest failures:
https://ci.debian.net/data/autopkgtest/testing/amd64/c/calibre/15138528/log.gz

Here is a simpler way to reproduce the problem:
- Schedule the libc6 upgrade from 2.31 to 2.32 (currently bookworm to
  sid) to happen on a system which hasn't seen any user login since it
  has been booted. For instance trigger it from /etc/rc.local.
- Log onto the system (for instance through TTY or SSH), observe the
  error message in the logs and the absence of XDG_RUNTIME_DIR in the
  environment.



More information about the Pkg-systemd-maintainers mailing list