[Bug 1905245] Re: "Failed to parse bus message: Invalid argument" with Linux 5.8
Stéphane Graber
1905245 at bugs.launchpad.net
Sat Jan 9 20:52:24 UTC 2021
Now that we have the 5.8 kernel in HWE for focal, all my servers are
hitting this, both on metal and in containers. This causes things like
"systemctl show" to show an error as well as partial data.
It really feels like this should have been fixed before the rollout of
the 5.8 kernel through HWE...
--
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/1905245
Title:
"Failed to parse bus message: Invalid argument" with Linux 5.8
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Focal:
In Progress
Bug description:
[impact]
newer kernels introduced a new capability, and existing systemd
doesn't have the name mapping for the new cap (since the mapping table
is generated at systemd compile time), so it fails when trying to map
the capability to a user-facing name, which causes failure when
running commands like 'systemctl show'
[test case]
install a focal system, and install the 5.8 (or newer) kernel, e.g.
from linux-generic-hwe-20.04-edge, and reboot into the new kernel.
Find any service that does not specify its CapabilityBoundingSet; e.g.
'apparmor', and run systemctl show on it:
ubuntu at lp1905245-f:~$ systemctl show -p CapabilityBoundingSet apparmor
Failed to parse bus message: Invalid argument
the command should correctly show the value, e.g.:
$ systemctl show -p CapabilityBoundingSet apparmor
CapabilityBoundingSet=cap_chown cap_dac_override ...etc...
[regression potential]
a regression would likely occur while systemd is parsing or printing
or otherwise handling kernel capabilities. A regression could happen
when running systemd commands, such as systemctl, or when pid1 is
managing services.
[scope]
this is needed only in focal (and possibly bionic).
This is fixed upstream by PR 16424:
https://github.com/systemd/systemd/pull/16424
which was first included in v246, so this is already fixed in groovy and later.
this was introduced externally from systemd, with the new capability in the kernel, so this fix technically is needed in x/b/f. However, x is unlikely to get a new kernel capability during the rest of its life cycle.
For b, unless a kernel is added that includes a new capability, this patch is not needed.
[other info]
there is a testcase-only related bug 1905044
[original description]
When I run `systemctl show myservice.service`, I get the following
error message:
Failed to parse bus message: Invalid argument
systemd version: 245.4-4ubuntu3.3
linux version: 5.8.0-29-generic #31~20.04.1-Ubuntu (From linux-generic-hwe-20.04-edge)
This is a bug that has been fixed in Debian. See
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964926
Please can we port the fix to the ubuntu 20.04 version.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1905245/+subscriptions
More information about the foundations-bugs
mailing list