[Bug 1905245] Re: "Failed to parse bus message: Invalid argument" with Linux 5.8
Dan Streetman
1905245 at bugs.launchpad.net
Wed Jan 13 19:59:17 UTC 2021
focal host reproduction:
root at lp1905245-f:~# uname -a
Linux lp1905245-f 5.8.0-36-generic #40~20.04.1-Ubuntu SMP Wed Jan 6 10:15:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root at lp1905245-f:~# dpkg -l systemd|grep systemd
ii systemd 245.4-4ubuntu3.3 amd64 system and service manager
root at lp1905245-f:~# systemctl show -p CapabilityBoundingSet apparmor
Failed to parse bus message: Invalid argument
root at lp1905245-f:~# echo $?
1
focal container repro:
root at lp1905245-f:~# lxc shell focal
root at focal:~# dpkg -l systemd|grep systemd
ii systemd 245.4-4ubuntu3.3 amd64 system and service manager
root at focal:~# systemctl show -p CapabilityBoundingSet apparmor
Failed to parse bus message: Invalid argument
root at focal:~# echo $?
1
bionic container repro:
root at lp1905245-f:~# lxc shell bionic
root at bionic:~# dpkg -l systemd|grep systemd
ii systemd 237-3ubuntu10.43 amd64 system and service manager
root at bionic:~# systemctl show -p CapabilityBoundingSet apparmor
Failed to parse bus message: Invalid argument
root at bionic:~# echo $?
1
focal host verification:
root at lp1905245-f:~# dpkg -l systemd|grep systemd
ii systemd 245.4-4ubuntu3.4 amd64 system and service manager
root at lp1905245-f:~# systemctl show -p CapabilityBoundingSet apparmor
CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_>
root at lp1905245-f:~# echo $?
0
focal container verification:
root at focal:~# dpkg -l systemd|grep systemd
ii systemd 245.4-4ubuntu3.4 amd64 system and service manager
root at focal:~# systemctl show -p CapabilityBoundingSet apparmor
CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_>
root at focal:~# echo $?
0
bionic container verification:
root at bionic:~# dpkg -l systemd|grep systemd
ii systemd 237-3ubuntu10.44 amd64 system and service manager
root at bionic:~# systemctl show -p CapabilityBoundingSet apparmor
CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_r
root at bionic:~# echo $?
0
** Tags removed: verification-needed verification-needed-bionic verification-needed-focal
** Tags added: verification-done verification-done-bionic verification-done-focal
--
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:
Fix Committed
Status in systemd source package in Focal:
Fix Committed
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 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 upstream in systemd by commit
52610b020c077ee769c6923249f7e6c4e99d2980 which was first included in
v235, so this bug does not exist in Xenial.
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-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