Created attachment 886741 [details] The .xml VM config file after the changes. Description of problem: Changing the following "Display Spice" settings in virt-manager seems to cause an XML parsing error for a VM's config file. This in turn causes the VM to fail to start or restart.: Address: Localhost only -> All Interfaces: Password: Enable and set a password Also, after making these changes, there appears to be no graphical way to recover your VM's ability to boot. (You can however run "virsh edit" and fix it manually.) Version-Release number of selected component (if applicable): virt-manager: Version : 1.0.1 Release : 1.fc20 libvirt: Version : 1.1.3.4 Release : 3.fc20 qemu-kvm: Version : 1.6.2 Release : 1.fc20 How reproducible: Yes, I did it 2x in a row while the VM is running. And I did it another time while the VM was shutoff. Steps to Reproduce: 1. Create a VM. Let it default to "Display Spice". 2. While the VM is shutoff, change the following "Display Spice" hardware properties: Address: Localhost only -> All Interfaces: Password: Enable and set a password (shown as "mikedep333password" below) 3. Attempt to start the VM. 4. Attempt to remove the hardware (Display Spice) (You can also change the settings while the VM is running, and either reboot it yourself, or have the guest OS reboot the VM.) Actual results: The VM does not start and this error message pops up in a window (I changed my password value in the text below. My actual password is nothing but alphanumeric characters.) Error continue install: (domain_definition):84: Unescaped '<' not allowed in attributes values <graphics type='spice' autoport='yes' listen='<gi.overrides.Gtk.TreeModelRow object at 0x7f91dc0fc0d0>' passwd='mikedep333password'> --------------------------------------------------^ Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 1843, in check_install_status vm.startup() File "/usr/share/virt-manager/virtManager/domain.py", line 1355, in startup self._backend.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 708, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: (domain_definition):84: Unescaped '<' not allowed in attributes values <graphics type='spice' autoport='yes' listen='<gi.overrides.Gtk.TreeModelRow object at 0x7f91dc0fc0d0>' passwd='mikedep333password'> --------------------------------------------------^ Also, if you change the Display Spice settings while the VM is running and reboot the VM, Virtual Machine Manager's main window shows the VM as "Running" (even though the window for the VM was obviously not running.) When I attempt to remove the device (Display Spice), I get this error message window: Error Removing Device: xmlParseDoc() failed Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/details.py", line 2273, in remove_device self.vm.remove_device(devobj) File "/usr/share/virt-manager/virtManager/domain.py", line 581, in remove_device ret = self._redefine(change) File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 241, in _redefine guest = self._get_xmlobj_to_define() File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 223, in _get_xmlobj_to_define self._xmlobj_to_define = self.get_xmlobj(inactive=True) File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 148, in get_xmlobj return self._build_xmlobj(xml) File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 219, in _build_xmlobj return self._parseclass(self.conn.get_backend(), parsexml=xml) File "/usr/share/virt-manager/virtinst/guest.py", line 102, in __init__ XMLBuilder.__init__(self, *args, **kwargs) File "/usr/share/virt-manager/virtinst/xmlbuilder.py", line 777, in __init__ parent_xpath, relative_object_xpath) File "/usr/share/virt-manager/virtinst/xmlbuilder.py", line 679, in __init__ self._parse(parsexml, parsexmlnode) File "/usr/share/virt-manager/virtinst/xmlbuilder.py", line 692, in _parse doc = libxml2.parseDoc(xml) File "/usr/lib64/python2.7/site-packages/libxml2.py", line 1325, in parseDoc if ret is None:raise parserError('xmlParseDoc() failed') parserError: xmlParseDoc() failed Expected results: The VM would successfully start/restart and the display settings would be changed. And if I want to delete the "Display Spice" hardware, that would work too. Additional info: See attachment
*** This bug has been marked as a duplicate of bug 1083899 ***