libvirtd fails to start up due to failing to find cache id in sysfs /sys/devices/system/cpu

Software environment

  • Operating system: Gentoo
  • Architecture: aarch64
  • kernel version: 5.19.14-ajb
  • libvirt version: 8.7.0
  • Hypervisor and version: KVM

Description of problem

libvirt fails to start up reporting:

16:56:57 [root@idun:~] # /usr/sbin/libvirtd
2022-10-10 16:06:56.773+0000: 126535: info : libvirt version: 8.7.0
2022-10-10 16:06:56.773+0000: 126535: info : hostname: idun
2022-10-10 16:06:56.773+0000: 126535: error : virStateInitialize:657 : Initialisation of cloud-hypervisor state driver failed: no error
2022-10-10 16:06:56.773+0000: 126535: error : daemonRunStateInit:610 : Driver state initialisation failed

Although the proximal cause it the failure of the cloud-hypervisor driver it is actually a failure deeper down as it attempts to find the cache details of the system. It fails to read /sys/devices/system/cpu/cpu0/cache/index0/id (as it does not exist) and then barfs out.

Steps to reproduce

  1. Run Gentoo on a SynQuacer
  2. emerge libvirt
  3. run at the CLI: /usr/sbin/libvirtd

Additional information

Log file from:

env LIBVIRT_LOG_FILTERS="1:ch 1:util" LIBVIRT_LOG_OUTPUTS=1:file:lv.lg /usr/sbin/libvirtd

lv.lg