Package: libvirt0 Version: 5.0.0-4 Severity: important Tags: patch upstream
Dear Maintainer, * libvirt0 tries to add "cpu" controller under the cgroup v2 (a.k.a. unified cgroup hierarchy), which can be enabled by "systemd.unified_cgroup_hierarchy=1" boot option in /etc/default/grub * The cpu controller cannot be enabled if there exists a process with the realtime priority, as stated WARNING: cgroup2 doesn't yet support control of realtime processes and the cpu controller can only be enabled when all RT processes are in the root cgroup. Be aware that system management software may already have placed RT processes into nonroot cgroups during the system boot process, and these processes may need to be moved to the root cgroup before the cpu controller can be enabled. at https://www.kernel.org/doc/Documentation/cgroup-v2.txt * If a user installs "pulseaudio", which is true for almost all desktop environments, then "rtkit" is also installed and "pulseaudio" runs in the realtime priority. Under the above situation, when a user runs "virsh" or "virt-manager" or something like that, he/she gets the error message Invalid value '+cpu' for 'cgroup.subtree_control': Invalid argument and cannot use an application relying on libvirt0. It is also reported at https://unix.stackexchange.com/questions/525498/libvirt-will-not-start-vms-with-error-invalid-value-cpu-for-cgroup-subtree Temporary workaround 1: apt-get remove rtkit Temporary workaround 2: Use the following patch --- libvirt-5.0.0/src/util/vircgroup.c-orig 2019-06-29 12:57:39.959731576 +0900 +++ libvirt-5.0.0/src/util/vircgroup.c 2019-06-29 12:58:57.858871856 +0900 @@ -1268,6 +1268,7 @@ { if (virLastErrorIsSystemErrno(ENXIO) || virLastErrorIsSystemErrno(EPERM) || + virLastErrorIsSystemErrno(EINVAL) || virLastErrorIsSystemErrno(EACCES)) { virResetLastError(); VIR_DEBUG("No cgroups present/configured/accessible, ignoring error"); A right solution: An application should not try to enable the cpu controller in cgroup v2, as instructed at https://github.com/systemd/systemd/blob/master/docs/CGROUP_DELEGATION.md So a right solution is to stop touching "cgroup.subtree_control". It is also discussed in the upstream as https://github.com/libvirt/libvirt/commit/62dd4d25a2bc5ee33ed22728dc79a5da99906748 Best regards, Ryutaroh Matsumoto -- System Information: Debian Release: 10.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores) Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE=ja_JP.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libvirt0 depends on: ii libacl1 2.2.53-4 ii libapparmor1 2.13.2-10 ii libaudit1 1:2.8.4-3 pn libavahi-client3 <none> ii libavahi-common3 0.7-4+b1 ii libc6 2.28-10 ii libcap-ng0 0.7.9-2 ii libcurl3-gnutls 7.64.0-4 ii libdbus-1-3 1.12.16-1 ii libdevmapper1.02.1 2:1.02.155-3 ii libgcc1 1:8.3.0-6 ii libgnutls30 3.6.7-4 ii libnl-3-200 3.4.0-1 ii libnl-route-3-200 3.4.0-1 ii libnuma1 2.0.12-1 ii libsasl2-2 2.1.27+dfsg-1 ii libselinux1 2.8-1+b1 ii libssh2-1 1.8.0-2.1 ii libxml2 2.9.4+dfsg1-7+b3 ii libyajl2 2.1.0-3 Versions of packages libvirt0 recommends: ii lvm2 2.03.02-3 libvirt0 suggests no packages. -- no debconf information