Virt-manager libvirtd crash trying to create vm

I tried to create a new vm in virt-manager, but it failed.


Unable to complete install: 'End of file while reading data: Input/output error'

Traceback (most recent call last):
  File "/nix/store/1pymq8d6ynv8wljg9x1s66crfnjak3ih-virt-manager-5.0.0/share/virt-manager/virtManager/asyncjob.py", line 71, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/nix/store/1pymq8d6ynv8wljg9x1s66crfnjak3ih-virt-manager-5.0.0/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
    installer.start_install(guest, meter=meter)
  File "/nix/store/1pymq8d6ynv8wljg9x1s66crfnjak3ih-virt-manager-5.0.0/share/virt-manager/virtinst/install/installer.py", line 726, in start_install
    domain = self._create_guest(
             ^^^^^^^^^^^^^^^^^^^
  File "/nix/store/1pymq8d6ynv8wljg9x1s66crfnjak3ih-virt-manager-5.0.0/share/virt-manager/virtinst/install/installer.py", line 667, in _create_guest
    domain = self.conn.createXML(initial_xml or final_xml, 0)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/9hw69066sa8d300pnzkx3ck60d0jxqma-python3.12-libvirt-10.10.0/lib/python3.12/site-packages/libvirt.py", line 4545, in createXML
    raise libvirtError('virDomainCreateXML() failed')
libvirt.libvirtError: End of file while reading data: Input/output error

I don’t use it often, and it has been a while, but this used to work; I don’t think it’s a nixos config issue, unless there are some config changes required that go together with whatever version updates have happened in the meantime. I just have this, plus the package installed:

  virtualisation.libvirtd = {
    enable = true;
    qemu.runAsRoot = false;
    qemu.swtpm.enable = true;
  };

I tried creating a basic win11 vm with all defaults, pointing to the iso, and with either a zvol or qcow image for the backing store.

It looks like the libvirtd service is coredumping at the other end of this socket. Does anyone else see this?

1 Like

I am having this same issue but worked around it.

So digging around and playing around it has something to do with the emulated TPM.
I was able to make a new VM and fix an existing one by removing the TPM device, running the VM, Stopping the VM, then re-adding the TPM device using the hypervisor defaults.
There are a couple threads out there about this happening with virt-manager for some reason.

1 Like

Wild. Weird. Working.