restarting systemd-logind loses all existing sessions

Bug #1944711 reported by Dan Streetman
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
High
Dan Streetman

Bug Description

[impact]

restarting the systemd-logind service loses all existing sessions

[test case]

ubuntu@test-f:~$ loginctl list-sessions
SESSION UID USER SEAT TTY
   3789 1000 ubuntu pts/0

1 sessions listed.
ubuntu@test-f:~$ journalctl -b -u systemd-logind
-- Logs begin at Thu 2021-09-23 11:11:57 UTC, end at Thu 2021-09-23 11:22:55 UTC. --
Sep 23 11:22:51 test-f systemd[1]: Starting Login Service...
Sep 23 11:22:51 test-f systemd-logind[198]: New seat seat0.
Sep 23 11:22:51 test-f systemd[1]: Started Login Service.
Sep 23 11:22:52 test-f systemd-logind[198]: New session 3789 of user ubuntu.
ubuntu@test-f:~$ sudo systemctl restart systemd-logind
ubuntu@test-f:~$ journalctl -b -u systemd-logind
-- Logs begin at Thu 2021-09-23 11:11:57 UTC, end at Thu 2021-09-23 11:23:07 UTC. --
Sep 23 11:22:51 test-f systemd[1]: Starting Login Service...
Sep 23 11:22:51 test-f systemd-logind[198]: New seat seat0.
Sep 23 11:22:51 test-f systemd[1]: Started Login Service.
Sep 23 11:22:52 test-f systemd-logind[198]: New session 3789 of user ubuntu.
Sep 23 11:23:07 test-f systemd[1]: Stopping Login Service...
Sep 23 11:23:07 test-f systemd[1]: systemd-logind.service: Succeeded.
Sep 23 11:23:07 test-f systemd[1]: Stopped Login Service.
Sep 23 11:23:07 test-f systemd[1]: Starting Login Service...
Sep 23 11:23:07 test-f systemd-logind[469]: Failed to add user by file name 1000, ignoring: Invalid argument
Sep 23 11:23:07 test-f systemd-logind[469]: User enumeration failed: Invalid argument
Sep 23 11:23:07 test-f systemd-logind[469]: User of session 3789 not known.
Sep 23 11:23:07 test-f systemd-logind[469]: Session enumeration failed: No such file or directory
Sep 23 11:23:07 test-f systemd-logind[469]: New seat seat0.
Sep 23 11:23:07 test-f systemd[1]: Started Login Service.
ubuntu@test-f:~$ loginctl list-sessions
No sessions.

[regression potential]

any regression would likely occur during a systemd-logind restart, likely causing a loss of current login sessions.

[scope]

this is needed only in f

this is fixed upstream by commit ac4e03d45bcf4ad2e570cabdb218e9bac003cc80 which is included in v246, so this is fixed in h and later already.

in b, the function used to parse the /run/systemd/users/* files allows either usernames or uids, so this bug does not exist there

Dan Streetman (ddstreet)
Changed in systemd (Ubuntu):
status: New → Fix Released
description: updated
Changed in systemd (Ubuntu Focal):
assignee: nobody → Dan Streetman (ddstreet)
importance: Undecided → High
status: New → In Progress
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Dan, or anyone else affected,

Accepted systemd into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/systemd/245.4-4ubuntu3.14 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in systemd (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Michael Webster (miketwebster) wrote :

Seems good to me, no more broken sessions after resuming, loginctl list commands always output as expected. Checking org.freedesktop.login1 with d-feet correctly shows sessions and users.

One issue I noticed, which I at first assumed was related to this issue, is I will occasional lose my network on resume. Since this still occurs with ubuntu3.14 perhaps they aren't related after all. Ignore this noise if so, sorry.

Revision history for this message
Lukas Märdian (slyon) wrote (last edit ):

Thank you Michael for the verification. I can confirm this is working as expected as of systemd 245.4-4ubuntu3.14 from (focal-proposed)

slyon@ff:~$ dpkg -l | grep systemd
[...]
ii systemd 245.4-4ubuntu3.14 amd64
slyon@ff:~$ loginctl list-sessions
SESSION UID USER SEAT TTY
     c2 1001 slyon pts/1

1 sessions listed.

root@ff:~# systemctl restart systemd-logind

slyon@ff:~$ loginctl list-sessions
SESSION UID USER SEAT TTY
     c2 1001 slyon pts/1

1 sessions listed.

The networking after resume issue indeed seems to be unrelated.

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 245.4-4ubuntu3.14

---------------
systemd (245.4-4ubuntu3.14) focal; urgency=medium

  [ Lukas Märdian ]
  * Allow target units to fail (LP: #1948476)
    File: d/p/lp1948476-pid1-target-units-can-fail-through-dependencies.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=fe0cb0bd66baea89d8bbe47cb47d88540f46d470
  * Fix whitespace in lp1926547-hwdb-60-keyboard-Update-Dell-Privacy-Micmute-Hotkey-.patch to match upstream
    File: debian/patches/lp1926547-hwdb-60-keyboard-Update-Dell-Privacy-Micmute-Hotkey-.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=80fef80a1b018556939011707c4ce00cebc58806
  * Support detection for ARM64 Hyper-V guests (LP: #1952599)
    Files:
    - debian/patches/lp1952599/0001-virt-Support-detection-for-ARM64-Hyper-V-guests.patch
    - debian/patches/lp1952599/0002-virt-Fix-the-detection-for-Hyper-V-VMs.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=caf3aff933cc7bf21565faba05f78ce78b3196cd

  [ Andy Chi ]
  * Add privacy micmute hotkey for Dell machine. (LP: #1952733)
    File: debian/patches/lp1952733-hwdb-60-keyboard-Update-Dell-Privacy-Micmute-Hotkey-Map.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=ff8dc41f55baa418076e42509ddbf3212a8c1353
  * Add microphone mute key for Dell machine. (LP: #1952735)
    File: debian/patches/lp1952735-keymap-Add-microphone-mute-keymap-for-Dell-Machine.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=175fb4e209fba889b4bcd81cb2ed262923943a3f

  [ Yao Wei ]
  * Add ACCEL_LOCATION=base property for 6 Dell clamshell models (LP: #1943561)
    File: debian/patches/lp1943561-dell-clamshell-accel-location-base-with-sku.patch
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=246195d68b2bb0473f4a3f1c2ebe54dfd37f068b

  [ Dan Streetman ]
  * d/p/lp1944711-login-filenames-in-run-systemd-users-are-uids.patch:
    Fix systemd-logind restart loading of existing sessions
    (LP: #1944711)

  [ Ratchanan Srirattanamet ]
  * d/p/debian/timedatectl-lp1650688.patch,
    d/p/debian/UBUNTU-Fix-timezone-setting-on-read-only-etc.patch:
    Fix timedated unable to retrieve & properly set timezone on
    read-only /etc (e.g. Ubuntu Core and system-image-based systems)
    (LP: #1650688)

 -- Lukas Märdian <email address hidden> Fri, 10 Dec 2021 10:04:02 +0100

Changed in systemd (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for systemd has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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