[Pkg-libvirt-maintainers] Bug#659956: libvirt-bin: virsh/virt-manager connection failure: Cannot recv data: Value too large for defined data type

Martin Steigerwald ms at teamix.de
Wed Feb 15 10:03:18 UTC 2012


Package: libvirt-bin
Version: 0.9.10~rc1-1
Severity: important

Dear Maintainer,

Yesterday I reported a connection failure without error message in
virt-manager (#659860). The lack of an error message was a problem
with virt-manager that is fixed meanwhile, but the actual connection
failure is a libvirt issue as it happens in virsh as well:

ms at mango:~> LANG=C virsh -d1 -c qemu+ssh://root@frisbie.of.teamix.net/system
error: Cannot recv data: Value too large for defined data type
error: failed to connect to the hypervisor

Even tough specifying full debug, I don't get any more details unless I
use virt-manager -d. When I use virt-manager -d I get the following:

2012-02-15 10:41:42,046 (connection:991): Scheduling background open thread for qemu+ssh://root@frisbie.of.teamix.net/system
2012-02-15 10:41:42,049 (connection:1177): Background 'open connection' thread is running
2012-02-15 10:41:42,174 (connection:1227): Background open thread complete, scheduling notify
2012-02-15 10:41:42,175 (connection:1232): Notifying open result
2012-02-15 10:41:42,177 (manager:658): ['ssh', 'root']
2012-02-15 10:41:42,179 (error:80): dialog message: Unable to connect to libvirt.

Cannot recv data: Value too large for defined data type

Verify that the 'libvirtd' daemon is running
on the remote host. : Unable to connect to libvirt.

Cannot recv data: Value too large for defined data type

Verify that the 'libvirtd' daemon is running
on the remote host.

Libvirt URI is: qemu+ssh://root@frisbie.of.teamix.net/system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1185, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1167, in _try_open
    flags)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 102, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: Cannot recv data: Value too large for defined data type


Seems to be a programming error to me.

Remote host is Debian/Wheezy, SSH authentication is password less via key and
SSH agent. libvirtd is running there:

ms at mango:~> ssh root at frisbi
Linux frisbie 3.2.0-1-amd64 #1 SMP Sun Feb 5 15:17:15 UTC 2012 x86_64
[…]
Last login: Wed Feb 15 10:35:03 2012 from mango.of.teamix.net
root at frisbie:~# ps aux | grep libvirt | grep -v grep
root      1490  0.0  0.0 263104  6144 ?        Sl   09:44   0:00 /usr/sbin/libvirtd -d
root at frisbie:~# dpkg -l | grep libvirt
ii  libvirt-bin                        0.9.8-2                   programs for the libvirt library
ii  libvirt0                           0.9.8-2                   library for interfacing with different virtualization systems
ii  python-libvirt                     0.9.8-2                   libvirt Python bindings
root at frisbie:~#


This happens with any of the following versions of libvirt-bin/libvirt0
on the client side:

mango:~# apt-cache policy libvirt0 | egrep "(debian/|[0-9] 0)"
 *** 0.9.10~rc1-1 0
        110 http://ftp.de.debian.org/debian/ experimental/main i386 Packages
     0.9.9-3 0
        450 http://ftp.de.debian.org/debian/ sid/main i386 Packages
     0.9.8-2 0
        500 http://ftp.de.debian.org/debian/ wheezy/main i386 Packages


Related code snippet is (experimental version)

1161         if virtinst.support.support_openauth():
1162             vmm = libvirt.openAuth(self.get_uri(),
1163                                    [[libvirt.VIR_CRED_AUTHNAME,
1164                                      libvirt.VIR_CRED_PASSPHRASE,
1165                                      libvirt.VIR_CRED_EXTERNAL],
1166                                     self._do_creds, None],
1167                                    flags)
1168         else:
1169             if flags:
1170                 vmm = libvirt.openReadOnly(self.get_uri())
1171             else:
1172                 vmm = libvirt.open(self.get_uri())
1173 
1174         return vmm
1175 
1176     def _open_thread(self):
1177         logging.debug("Background 'open connection' thread is running")
1178 
1179         while True:
1180             libexc = None
1181             exc = None
1182             tb = None
1183             warnconsole = False
1184             try:
1185                 self.vmm = self._try_open()
1186             except libvirt.libvirtError, libexc:
1187                 tb = "".join(traceback.format_exc())
1188             except Exception, exc:
1189                 tb = "".join(traceback.format_exc())

in /usr/share/virt-manager/virtManager/connection.py as well as

  99 
 100 def openAuth(uri, auth, flags):
 101     ret = libvirtmod.virConnectOpenAuth(uri, auth, flags)
 102     if ret is None:raise libvirtError('virConnectOpenAuth() failed')
 103     return virConnect(_obj=ret)
 104 

in /usr/lib/python2.7/dist-packages/libvirt.py


Related bugs (as noted above already):

virt-manager: seems to connect via qemu+ssh but closes connection immediately again
http://bugs.debian.org/659860

Thanks,
Martin


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing'), (450, 'unstable'), (110, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libvirt-bin depends on:
ii  adduser             3.113+nmu1
ii  gettext-base        0.18.1.1-5
ii  libavahi-client3    0.6.30-6
ii  libavahi-common3    0.6.30-6
ii  libblkid1           2.20.1-1.2
ii  libc6               2.13-26
ii  libcap-ng0          0.6.6-1
ii  libdevmapper1.02.1  2:1.02.67-2
ii  libgcrypt11         1.5.0-3
ii  libgnutls26         2.12.16-1
ii  libnetcf1           0.1.9-2
ii  libnl1              1.1-7
ii  libnuma1            2.0.8~rc3-1
ii  libparted0debian1   2.3-8
ii  libpcap0.8          1.2.1-1
ii  libpciaccess0       0.12.902-1
ii  libreadline6        6.2-8
ii  libsasl2-2          2.1.25.dfsg1-3
ii  libudev0            175-3
ii  libvirt0            0.9.10~rc1-1
ii  libxenstore3.0      4.1.2-2
ii  libxml2             2.7.8.dfsg-7
ii  libyajl2            2.0.4-2
ii  logrotate           3.8.1-1

Versions of packages libvirt-bin recommends:
ii  bridge-utils    1.5-2
ii  dmidecode       2.11-5
ii  dnsmasq-base    2.59-4
ii  ebtables        2.0.9.2-2
ii  gawk            1:3.1.8+dfsg-0.1
ii  iproute         20120105-1
ii  iptables        1.4.12.2-1
ii  libxml2-utils   2.7.8.dfsg-7
ii  netcat-openbsd  1.89-4
ii  parted          2.3-8
ii  qemu            1.0+dfsg-2

Versions of packages libvirt-bin suggests:
pn  policykit-1  0.104-1
pn  radvd        <none>

-- no debconf information





More information about the Pkg-libvirt-maintainers mailing list