** Changed in: systemd (Ubuntu) Status: Fix Committed => Fix Released
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/2067922 Title: on WSL systemd status fails output Status in systemd package in Ubuntu: Fix Released Status in systemd source package in Noble: Fix Released Bug description: [Impact] WSL 24.04 / systemd 255.4-1ubuntu8 * Upstream report: https://github.com/microsoft/WSL/issues/8879 * Upstream PR: https://github.com/systemd/systemd/pull/32534 * Upstream commit: https://github.com/systemd/systemd-stable/commit/8e57759d6d80ef772d8e17a4559a6797e09af93a.patch In WSL, the cgroup.procs PID list for some reason contain a ton of zeros everywhere from unmapped PIDs. Whenever cg_read_pid encounters such a zero, it throws an error. This makes systemd near unusable inside of WSL. [Test Plan] On WSL running Ubuntu 24.04, run systemctl status. On an affected system, there will be an error saying "Failed to dump process list [...]". On a patched system, the command should work as expected. [Where problems could occur] This patch adds a flags parameter to cg_read_pid(), and adds a new flag, CGROUP_DONT_SKIP_UNMAPPED. The new default behavior of cg_read_pid() is that unmapped pids *will* be skipped. When this flag is set in a call to cg_read_pid(), encountering an unmapped pid will leave the caller to deal with it. There are several places where cg_read_pid() is called in systemd, so there are several places where this would come up. If we did see problems, it would likely because a caller is skipping the unmapped pids when it should not be. For callers that do not skip (i.e. pass CGROUP_DONT_SKIP_UNMAPPED), they either handle it cleanly, or propagate a different error to signal this case. [Original Description] WSL 24.04 / systemd 255.4-1ubuntu8 * Upstream report: https://github.com/microsoft/WSL/issues/8879 * Upstream PR: https://github.com/systemd/systemd/pull/32534 * Upstream commit: https://github.com/systemd/systemd-stable/commit/8e57759d6d80ef772d8e17a4559a6797e09af93a.patch In WSL, the cgroup.procs PID list for some reason contain a ton of zeros everywhere from unmapped PIDs. Whenever cg_read_pid encounters such a zero, it throws an error. This makes systemd near unusable inside of WSL. # Test Case install Ubuntu WSL 24.04 from the MS STore. This version has systemd already enabled. ## Expected Behavior systemctl status command to work ## Actual Behavior toor@XPS:~$ systemctl status Failed to dump process list for 'XPS', ignoring: Input/output error ● XPS State: degraded Units: 318 loaded (incl. loaded aliases) Jobs: 0 queued Failed: 1 units Since: Sat 2022-09-24 08:43:15 PDT; 14min ago systemd: 251.4-1ubuntu6 Tainted: cgroupsv1 CGroup: / To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2067922/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp