The program enters an infinite loop while checking to see if the cgroups of a process have changed.
The bug is in the check_cgroup_changed function in src/cgroups.cpp found here
Steps to reproduce the behaviour
Start mate-system-monitor while a process exists that:
Has the path as "/" for one of its cgroups
Has the controller as "" for the same cgroup
The "current_cgroup_set" for it is not null
The "special case for root cgroup" block will be entered, where the tmp variable will be incremented by 0 on each loop, as the controller is an empty string.
I am able to create a process that exhibits this behaviour by starting a QEMU virtual machine through virt-manager. The offending cgroup entry is 0::/ of the kvm-nx-lpage-re kernel module.
Expected behaviour
I'm unsure about the expected behaviour.
Actual behaviour
The program enters an infinite loop while checking to see if the cgroups of a process have changed. The bug is in the
check_cgroup_changed
function insrc/cgroups.cpp
found hereSteps to reproduce the behaviour
Start mate-system-monitor while a process exists that:
The "special case for root cgroup" block will be entered, where the
tmp
variable will be incremented by 0 on each loop, as the controller is an empty string. I am able to create a process that exhibits this behaviour by starting a QEMU virtual machine through virt-manager. The offending cgroup entry is0::/
of thekvm-nx-lpage-re
kernel module.MATE general version
1.24.2
Package version
80640c9b
Linux Distribution
Arch Linux x86_64
Link to bugreport of your Distribution (requirement)
Arch does not modify the build steps or source in any way. This is purely an issue with mate-system-monitor.