"Failed to parse bus message: Invalid argument" with Linux 5.8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Dan Streetman | ||
Focal |
Fix Released
|
High
|
Dan Streetman |
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-
Find any service that does not specify its CapabilityBound
ubuntu@
Failed to parse bus message: Invalid argument
the command should correctly show the value, e.g.:
$ systemctl show -p CapabilityBound
CapabilityBound
[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 bionic.
This is fixed upstream by PR 16424:
https:/
which was first included in v246, so this is already fixed in groovy and later.
This was introduced upstream in systemd by commit 52610b020c077ee
This bug will reproduce on any system running under the 5.8 kernel, with the new capability, if the systemd binary was compiled with kernel headers that do not include the new capability. This means this is reproducable on bare-metal/vm instances running 5.8, as well as containers on hosts running 5.8. Therefore, while bionic may not ever receive a new kernel with added capability, it still needs to be patched to avoid the bug on a bionic container running on a host with the 5.8 kernel.
[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-
This is a bug that has been fixed in Debian. See https:/
Please can we port the fix to the ubuntu 20.04 version.
tags: | added: rls-bb-incoming rls-ff-incoming |
description: | updated |
Changed in systemd (Ubuntu): | |
status: | New → Fix Released |
description: | updated |
Changed in systemd (Ubuntu Focal): | |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → Medium |
status: | New → In Progress |
tags: | added: fr-963 |
tags: | removed: rls-bb-incoming rls-ff-incoming |
Changed in systemd (Ubuntu Bionic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → Medium |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in systemd (Ubuntu Focal): | |
importance: | Medium → High |
Changed in systemd (Ubuntu Bionic): | |
importance: | Medium → High |
description: | updated |
Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:
apport-collect 1905245
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https:/ /wiki.ubuntu. com/ReportingBu gs.