[Pkg-libvirt-maintainers] Bug#683749: virt-manager gets stuck if 'Customize configuration before install' is checked for a remote VM

Francois Gouget fgouget at free.fr
Fri Aug 3 14:23:47 UTC 2012


Package: virt-manager
Version: 0.9.3-2
Severity: normal

Dear Maintainer,

To reproduce the issue:
 * Start virt-manager
 * Connect to a remote host using qemu+ssh
 * Create a new VM and in the last panel, check 'Customize configuration before install'
 * Click on 'Finish'

Virt-manager then freezes (the GUI no longer gets refreshed). I waited for 2 o 3 minutes waiting for it to thaw to no avail.


Notes:
 * There is no issue if I uncheck 'Customize configuration before install'. That provides a workaround: uncheck it, forcefully shut down the VM as soon as it starts up and then reconfigure.
 * There is no problem if I don't use a remote connection.
 * If I use qemu+ssh://localhost/system there is no issue either!
 * The above two points suggest that there is an incompatibility with the libvirt or qemu/kvm on the other end of the link. The remote host runs Debian Stable with BackPort packages:
     libvirt-bin      0.9.12-3~bpo60+1
     libvirt0         0.9.12-3~bpo60+1
     qemu-keymaps     1.0+dfsg-3~bpo60+1
     qemu-kvm         1.0+dfsg-8~bpo60+1
     qemu-system      1.0+dfsg-3~bpo60+1
     qemu-utils       1.0+dfsg-3~bpo60+1
 * I also observed this freeze when the remote host still had the standard Debian 6.0 packages.

Here is what 'virt-manager --debug --no-fork' prints after I click on 'Finish':
---
2012-08-03 15:58:44,597 (create:1848): Creating a VM wtbbuild
  Type: kvm,hvm
  UUID: 7c1dfea1-cff9-513b-84c9-5dfa5d1bb3fe
  Install Source: /home/winehq/wtb-isos/debian-6.0.5-amd64-netinst.iso
  OS: linux:debianwheezy
  Kernel args: None
  Memory: 512
  Max Memory: 512
  # VCPUs: 4
  Filesize: 20.0
---

Hitting Ctrl+C on the terminal then gives me:
---
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/libvirtglib.py", line 131, in glib_event_handle_update
    def glib_event_handle_update(watch, events):
KeyboardInterrupt

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/libvirtglib.py", line 131, in glib_event_handle_update
    def glib_event_handle_update(watch, events):
KeyboardInterrupt
2012-08-03 16:02:38,638 (error:80): dialog message: Error refreshing hardware page: poll on socket failed: Interrupted system call : Error refreshing hardware page: poll on socket failed: Interrupted system call

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details.py", line 1286, in hw_selected
    self.refresh_overview_page()
  File "/usr/share/virt-manager/virtManager/details.py", line 2583, in refresh_overview_page
    apic = self.vm.get_apic()
  File "/usr/share/virt-manager/virtManager/domain.py", line 876, in get_apic
    return self._get_guest().features["apic"]
  File "/usr/share/virt-manager/virtManager/domain.py", line 1659, in _get_guest
    self.get_xml()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1651, in get_xml
    xml = self._backend.get_xml_config(install=False)
  File "/usr/lib/pymodules/python2.7/virtinst/XMLBuilderDomain.py", line 511, in get_xml_config
    return self._get_xml_config(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1088, in _get_xml_config
    xml = add(self._get_device_xml(devs, install))
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 884, in _get_device_xml
    xml = _util.xml_append(xml, get_dev_xml(dev))
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 870, in get_dev_xml
    return dev.get_xml_config()
  File "/usr/lib/pymodules/python2.7/virtinst/XMLBuilderDomain.py", line 511, in get_xml_config
    return self._get_xml_config(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/virtinst/VirtualDisk.py", line 1506, in _get_xml_config
    if drvxml and self.driver_name is None:
  File "/usr/lib/pymodules/python2.7/virtinst/XMLBuilderDomain.py", line 269, in new_getter
    getval = fget(self, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/virtinst/VirtualDisk.py", line 795, in get_driver_name
    retname, ignore = self.__get_default_driver()
  File "/usr/lib/pymodules/python2.7/virtinst/VirtualDisk.py", line 1113, in __get_default_driver
    fmt = _util.get_xml_path(self.vol_object.XMLDesc(0),
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2275, in XMLDesc
    if ret is None: raise libvirtError ('virStorageVolGetXMLDesc() failed', vol=self)
libvirtError: poll on socket failed: Interrupted system call

2012-08-03 16:02:38,679 (error:80): dialog message: Error refreshing hardware page: Cannot write data: Broken pipe : Error refreshing hardware page: Cannot write data: Broken pipe

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details.py", line 1286, in hw_selected
    self.refresh_overview_page()
  File "/usr/share/virt-manager/virtManager/details.py", line 2537, in refresh_overview_page
    desc = self.vm.get_description() or ""
  File "/usr/share/virt-manager/virtManager/domain.py", line 885, in get_description
    return self._get_guest(inactive=True).description
  File "/usr/share/virt-manager/virtManager/domain.py", line 1659, in _get_guest
    self.get_xml()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1651, in get_xml
    xml = self._backend.get_xml_config(install=False)
  File "/usr/lib/pymodules/python2.7/virtinst/XMLBuilderDomain.py", line 511, in get_xml_config
    return self._get_xml_config(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1037, in _get_xml_config
    tmpfeat)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1479, in _set_defaults
    self._set_hvm_defaults(devlist_func, features)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1415, in _set_hvm_defaults
    disk_bus  = self._lookup_device_param(disktype, "bus")
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1584, in _lookup_device_param
    device_key, param)
  File "/usr/lib/pymodules/python2.7/virtinst/osdict.py", line 221, in lookup_device_param
    defaults.get(param))
  File "/usr/lib/pymodules/python2.7/virtinst/osdict.py", line 181, in parse_key_entry
    hv_type)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 577, in check_conn_hv_support
    return _check_support(conn, feature, hv)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 442, in _check_support
    minimum_libvirt_version)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 355, in _daemon_lib_ver
    return conn.getLibVersion()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 3193, in getLibVersion
    if ret == -1: raise libvirtError ('virConnectGetLibVersion() failed', conn=self)
libvirtError: Cannot write data: Broken pipe

2012-08-03 16:02:38,692 (error:80): dialog message: Error starting installation: Cannot write data: Broken pipe : Error starting installation: Cannot write data: Broken pipe

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/create.py", line 1870, in _check_start_error
    cb(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/create.py", line 1860, in start_install
    self.customize(guest)
  File "/usr/share/virt-manager/virtManager/create.py", line 1897, in customize
    self.config_window = vmmDetails(virtinst_guest, self.topwin)
  File "/usr/share/virt-manager/virtManager/details.py", line 528, in __init__
    self.refresh_vm_state()
  File "/usr/share/virt-manager/virtManager/details.py", line 1443, in refresh_vm_state
    self.page_refresh(details.get_current_page())
  File "/usr/share/virt-manager/virtManager/details.py", line 2520, in page_refresh
    self.repopulate_hw_list()
  File "/usr/share/virt-manager/virtManager/details.py", line 3378, in repopulate_hw_list
    for disk in self.vm.get_disk_devices():
  File "/usr/share/virt-manager/virtManager/domain.py", line 976, in get_disk_devices
    devs = self._build_device_list("disk", refresh_if_necc, inactive)
  File "/usr/share/virt-manager/virtManager/domain.py", line 942, in _build_device_list
    inactive=inactive)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1659, in _get_guest
    self.get_xml()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1651, in get_xml
    xml = self._backend.get_xml_config(install=False)
  File "/usr/lib/pymodules/python2.7/virtinst/XMLBuilderDomain.py", line 511, in get_xml_config
    return self._get_xml_config(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1037, in _get_xml_config
    tmpfeat)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1479, in _set_defaults
    self._set_hvm_defaults(devlist_func, features)
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1415, in _set_hvm_defaults
    disk_bus  = self._lookup_device_param(disktype, "bus")
  File "/usr/lib/pymodules/python2.7/virtinst/Guest.py", line 1584, in _lookup_device_param
    device_key, param)
  File "/usr/lib/pymodules/python2.7/virtinst/osdict.py", line 221, in lookup_device_param
    defaults.get(param))
  File "/usr/lib/pymodules/python2.7/virtinst/osdict.py", line 181, in parse_key_entry
    hv_type)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 577, in check_conn_hv_support
    return _check_support(conn, feature, hv)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 442, in _check_support
    minimum_libvirt_version)
  File "/usr/lib/pymodules/python2.7/virtinst/support.py", line 355, in _daemon_lib_ver
    return conn.getLibVersion()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 3193, in getLibVersion
    if ret == -1: raise libvirtError ('virConnectGetLibVersion() failed', conn=self)
libvirtError: Cannot write data: Broken pipe

2012-08-03 16:02:38,717 (engine:306): Could not refresh connection qemu+ssh://fgouget@vm1/system
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 293, in _tick
    conn.tick()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1311, in tick
    self._tick(noStatsUpdate)
  File "/usr/share/virt-manager/virtManager/connection.py", line 1320, in _tick
    self.hostinfo = self.vmm.getInfo()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 3187, in getInfo
    if ret is None: raise libvirtError ('virNodeGetInfo() failed', conn=self)
libvirtError: Cannot write data: Broken pipe
2012-08-03 16:02:38,717 (uihelpers:99): Error determining host disk space
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/uihelpers.py", line 97, in host_space_tick
    max_storage = host_disk_space(conn)
  File "/usr/share/virt-manager/virtManager/uihelpers.py", line 86, in host_disk_space
    pool.refresh()
  File "/usr/share/virt-manager/virtManager/storagepool.py", line 120, in refresh
    self.pool.refresh(0)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2194, in refresh
    if ret == -1: raise libvirtError ('virStoragePoolRefresh() failed', pool=self)
libvirtError: Cannot write data: Broken pipe
2012-08-03 16:02:38,719 (engine:307): Closing connection since libvirtd appears to have stopped
2012-08-03 16:02:38,798 (create:178): Closing new vm wizard
2012-08-03 16:02:38,799 (storagebrowse:80): Closing storage browser
---


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages virt-manager depends on:
ii  gconf2                   3.2.5-1
ii  librsvg2-common          2.36.1-1
ii  python                   2.7.3~rc2-1
ii  python-dbus              1.1.1-1
ii  python-glade2            2.24.0-3
ii  python-gnome2            2.28.1+dfsg-1
ii  python-gtk-vnc           0.5.0-3
ii  python-gtk2              2.24.0-3
ii  python-ipy               1:0.75-1
ii  python-libvirt           0.9.12-3
ii  python-spice-client-gtk  0.12-4
ii  python-support           1.0.15
ii  python-urlgrabber        3.9.1-4
ii  python-vte               1:0.28.2-5
ii  virtinst                 0.600.2-1

Versions of packages virt-manager recommends:
ii  gnome-icon-theme  3.4.0-2
ii  libvirt-bin       0.9.12-3

Versions of packages virt-manager suggests:
ii  gnome-keyring        3.4.1-4
ii  python-gnomekeyring  2.32.0+dfsg-2+b1
pn  python-guestfs       <none>
pn  ssh-askpass          <none>
ii  virt-viewer          0.5.3-1

-- no debconf information



More information about the Pkg-libvirt-maintainers mailing list