I have some more info, although I'm not sure this is the only cause. I had an Ubuntu 24 machine where the qemu process for the xen domain was in the [email protected] cgroup, and when the user logs out, systemd eventually kills everything in that cgroup, including qemu. This causes the domain to remain functional, but Xen has no more control over it. Trying to shut it down results in spinning at 100% CPU.
Weirdly enough, the qemu process appearing in the [email protected] cgroup only happened when 'xl create' was run from a tmux. As a work-around, I made a wrapper script for 'xl' that forbids 'create' in a tmux. I don't really know which component this bug would be in, or what to suggest for a fix. Side info for people dealing with this: when the error state exists, 'xl list --long' (which outputs json) triggers errors on stderr like 'Failed to connect to QMP socket /var/run/xen/qmp-libxl-5'. Therefore I wrote a monitoring script that runs 'xl list --long 2>&1 | jq > /dev/null' to check for errors.

