Re: [libvirt-users] Is libvirt supported on Citrix Xenserver?

Hi, I was finally able to connect to the xenapi hypervisor. However, once I connect to virsh and give a 'quit' command I get "* glibc detected *** virsh: double free or corruption (fasttop):". Please find below the actual memory dump. Note: I have disabled the SSL certificate verification in xenapi_driver.c by setting curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0) & curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0). [root@sharmila libvirt-0.9.2]# virsh -c "xenapi://localhost" Enter username for localhost: root Enter root's password for localhost: Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # list --all Id Name State ---------------------------------- 0 Control domain on host: sharmila running - Control domain on host: sharmila running - XenServer SDK 5.6.100-47101p import shut off virsh # quit *** glibc detected *** virsh: double free or corruption (fasttop): 0x09fcc370 *** ======= Backtrace: ========= /lib/libc.so.6[0xb6fc56c5] /lib/libc.so.6(cfree+0x59)[0xb6fc5b09] /usr/local/lib/libvirt.so.0(virFree+0x42)[0xb760d712] /usr/local/lib/libvirt.so.0[0xb777031d] /usr/local/lib/libvirt.so.0[0xb776ec10] /usr/local/lib/libvirt.so.0[0xb7676017] /usr/local/lib/libvirt.so.0(virUnrefConnect+0x128)[0xb7677888] /usr/local/lib/libvirt.so.0(virConnectClose+0xda)[0xb769ad4a] virsh[0x8065c73] virsh[0x806672f] /lib/libc.so.6(__libc_start_main+0xdc)[0xb6f71e9c] virsh[0x804e0f1] ======= Memory map: ======== 08048000-08079000 r-xp 00000000 08:01 378273 /usr/local/bin/virsh 08079000-0807a000 rw-p 00031000 08:01 378273 /usr/local/bin/virsh 09fa1000-0a060000 rw-p 00000000 00:00 0 [heap] b6b61000-b6b6c000 r-xp 00000000 08:01 182153 /lib/libgcc_s-4.1.2-20080825.so.1 b6b6c000-b6b6d000 rw-p 0000a000 08:01 182153 /lib/libgcc_s-4.1.2-20080825.so.1 b6b6d000-b6b77000 r-xp 00000000 08:01 181027 /lib/libnss_files-2.5.so b6b77000-b6b78000 r--p 00009000 08:01 181027 /lib/libnss_files-2.5.so b6b78000-b6b79000 rw-p 0000a000 08:01 181027 /lib/libnss_files-2.5.so b6b81000-b6b83000 rw-p 00000000 00:00 0 b6b83000-b6d83000 r--p 00000000 08:01 447132 /usr/lib/locale/locale-archive b6d83000-b6d86000 rw-p 00000000 00:00 0 b6d86000-b6d88000 r-xp 00000000 08:01 180820 /lib/libkeyutils-1.2.so b6d88000-b6d89000 rw-p 00001000 08:01 180820 /lib/libkeyutils-1.2.so b6d89000-b6d91000 r-xp 00000000 08:01 377484 /usr/lib/libkrb5support.so.0.1 b6d91000-b6d92000 rw-p 00007000 08:01 377484 /usr/lib/libkrb5support.so.0.1 b6d92000-b6d99000 r-xp 00000000 08:01 182148 /lib/librt-2.5.so b6d99000-b6d9a000 r--p 00007000 08:01 182148 /lib/librt-2.5.so b6d9a000-b6d9b000 rw-p 00008000 08:01 182148 /lib/librt-2.5.so b6d9b000-b6dab000 r-xp 00000000 08:01 180816 /lib/libresolv-2.5.so b6dab000-b6dac000 r--p 0000f000 08:01 180816 /lib/libresolv-2.5.so b6dac000-b6dad000 rw-p 00010000 08:01 180816 /lib/libresolv-2.5.so b6dad000-b6daf000 rw-p 00000000 00:00 0 b6daf000-b6ddf000 r-xp 00000000 08:01 378111 /usr/lib/libidn.so.11.5.19 b6ddf000-b6de0000 rw-p 0002f000 08:01 378111 /usr/lib/libidn.so.11.5.19 b6de0000-b6de1000 rw-p 00000000 00:00 0 b6de1000-b6de3000 r-xp 00000000 08:01 180823 /lib/libcom_err.so.2.1 b6de3000-b6de4000 rw-p 00001000 08:01 180823 /lib/libcom_err.so.2.1 b6de4000-b6e0a000 r-xp 00000000 08:01 378185 /usr/lib/libk5crypto.so.3.1 b6e0a000-b6e0b000 rw-p 00025000 08:01 378185 /usr/lib/libk5crypto.so.3.1 b6e0b000-b6e9f000 r-xp 00000000 08:01 378198 /usr/lib/libkrb5.so.3.3 b6e9f000-b6ea2000 rw-p 00093000 08:01 378198 /usr/lib/libkrb5.so.3.3 b6ea2000-b6ece000 r-xp 00000000 08:01 378160 /usr/lib/libgssapi_krb5.so.2.2 b6ece000-b6ecf000 rw-p 0002c000 08:01 378160 /usr/lib/libgssapi_krb5.so.2.2 b6ecf000-b6ed2000 r-xp 00000000 08:01 377492 /usr/lib/libgpg-error.so.0.3.0 b6ed2000-b6ed3000 rw-p 00002000 08:01 377492 /usr/lib/libgpg-error.so.0.3.0 b6ed3000-b6ed4000 rw-p 00000000 00:00 0 b6ed4000-b6f0f000 r-xp 00000000 08:01 182149 /lib/libsepol.so.1 b6f0f000-b6f10000 rw-p 0003b000 08:01 182149 /lib/libsepol.so.1 b6f10000-b6f1a000 rw-p 00000000 00:00 0 b6f1a000-b6f5a000 r-xp 00000000 08:01 378242 /usr/local/lib/libcurl.so.4.1.0 b6f5a000-b6f5b000 rw-p 00040000 08:01 378242 /usr/local/lib/libcurl.so.4.1.0 b6f5b000-b6f5c000 rw-p 00000000 00:00 0 b6f5c000-b70af000 r-xp 00000000 08:01 180994 /lib/libc-2.5.so b70af000-b70b1000 r--p 00153000 08:01 180994 /lib/libc-2.5.so b70b1000-b70b2000 rw-p 00155000 08:01 180994 /lib/libc-2.5.so b70b2000-b70b5000 rw-p 00000000 00:00 0 b70b5000-b70b8000 r-xp 00000000 08:01 180979 /lib/libdl-2.5.so b70b8000-b70b9000 r--p 00002000 08:01 180979 /lib/libdl-2.5.so b70b9000-b70ba000 rw-p 00003000 08:01 180979 /lib/libdl-2.5.so b70ba000-b70e1000 r-xp 00000000 08:01 182017 /lib/libm-2.5.so b70e1000-b70e2000 r--p 00026000 08:01 182017 /lib/libm-2.5.so b70e2000-b70e3000 rw-p 00027000 08:01 182017 /lib/libm-2.5.so b70e3000-b70e4000 rw-p 00000000 00:00 0 b70e4000-b70f6000 r-xp 00000000 08:01 378165 /usr/lib/libz.so.1.2.3 b70f6000-b70f7000 rw-p 00011000 08:01 378165 /usr/lib/libz.so.1.2.3 b70f7000-b7223000 r-xp 00000000 08:01 378174 /usr/lib/libxml2.so.2.6.26 b7223000-b7228000 rw-p 0012c000 08:01 378174 /usr/lib/libxml2.so.2.6.26 b7228000-b7229000 rw-p 00000000 00:00 0 b7229000-b723e000 r-xp 00000000 08:01 181033 /lib/libpthread-2.5.so b723e000-b723f000 r--p 00015000 08:01 181033 /lib/libpthread-2.5.so b723f000-b7240000 rw-p 00016000 08:01 181033 /lib/libpthread-2.5.so b7240000-b7242000 rw-p 00000000 00:00 0 b7242000-b7258000 r-xp 00000000 08:01 181005 /lib/libselinux.so.1 b7258000-b725a000 rw-p 00015000 08:01 181005 /lib/libselinux.so.1 b725a000-b7389000 r-xp 00000000 08:01 182129 /lib/libcrypto.so.0.9.8e b7389000-b739c000 rw-p 0012e000 08:01 182129 /lib/libcrypto.so.0.9.8e b739c000-b73a0000 rw-p 00000000 00:00 0 b73a0000-b73e4000 r-xp 00000000 08:01 180822 /lib/libssl.so.0.9.8e b73e4000-b73e8000 rw-p 00043000 08:01 180822 /lib/libssl.so.0.9.8e b73e8000-b7419000 r-xp 00000000 08:01 383239 /usr/lib/libcurl.so.3.0.0 b7419000-b741a000 rw-p 00031000 08:01 383239 /usr/lib/libcurl.so.3.0.0 b741a000-b741b000 rw-p 00000000 00:00 0 b741b000-b747b000 r-xp 00000000 08:01 378267 /usr/lib/libxenserver.so.1.3 b747b000-b747f000 rw-p 00060000 08:01 378267 /usr/lib/libxenserver.so.1.3 b747f000-b74a3000 r-xp 00000000 08:01 383129 /usr/lib/libssh2.so.1.0.1 b74a3000-b74a4000 rw-p 00024000 08:01 383129 /usr/lib/libssh2.so.1.0.1 b74a4000-b74a8000 r-xp 00000000 08:01 376977 /usr/lib/libxenstore.so.3.0.0 b74a8000-b74a9000 rw-p 00003000 08:01 376977 /usr/lib/libxenstore.so.3.0.0 b74a9000-b74ac000 rw-p 00000000 00:00 0 b74ac000-b752a000 r-xp 00000000 08:01 378181 /usr/lib/libgcrypt.so.11.5.2 b752a000-b752d000 rw-p 0007d000 08:01 378181 /usr/lib/libgcrypt.so.11.5.2 b752d000-b75a6000 r-xp 00000000 08:01 380857 /usr/lib/libgnutls.so.13.0.6 b75a6000-b75ac000 rw-p 00078000 08:01 380857 /usr/lib/libgnutls.so.13.0.6 b75ac000-b75ad000 rw-p 00000000 00:00 0 b75ad000-b75cc000 r-xp 00000000 08:01 180978 /lib/libdevmapper.so.1.02 b75cc000-b75ce000 rw-p 0001e000 08:01 180978 /lib/libdevmapper.so.1.02 b75cf000-b75d6000 r--s 00000000 08:01 412913 /usr/lib/gconv/gconv-modules.cache b75d6000-b75d7000 r-xp 00000000 08:01 377141 /usr/local/lib/libvirt-qemu.so.0.9.2 b75d7000-b75d8000 rw-p 00000000 08:01 377141 /usr/local/lib/libvirt-qemu.so.0.9.2Aborted Moreover, Iam not able to start any VMs uisng xencenter after i have started using virsh. It says, Error: Starting VM 'XenServer SDK 5.6.100-47101p import' - Internal error: another frontend device is already connected to this domain (frontend (domid=0 | kind=vbd | devid=51712); backend (domid=0 | kind=vbd | devid=51712)). Even a reboot of the machine didnt help. Any pointers on the above 2 issues would be of great help. Thanks in Advance! Regards, Sharmila From: "G Naresh Kumar"naresh.gadepalli@gmail.com Sent: Sat, 16 Jul 2011 16:55:16 +0530 To: Matthias Bolte matthias.bolte@googlemail.com Cc: libvirt-users@redhat.com Subject: Re: [libvirt-users] Is libvirt supported on Citrix Xenserver? Hi Matthias, > Sorry for the confusion.It was an edited one & hence thetypo. Below is the actual output: # virsh -c xenapi://<myip> Enter username for <myip>: root Enter root's password for <myip>: error: authentication failed: (null) I was not able to get anything in the Xen logs. Somehowfigured out to print the Xen error using the patch given at the link http://osdir.com/ml/libvir- list/2011-06/msg00298.html. It prints"TRANSPORT_FAULT". Any pointers to this error would be much appreciated. Iam also trying to debugthis issue. As per your suggestion, I had used make rpm. But it requires xen-devel pacakge,which I was not able to get for Xen 3.4.2. Is there any way where I canuse the source package and build & install the library without using'make rpm' ? Thanks for all the help. > Regards Naresh > On Thu, Jul 14, 2011 at 7:07 PM, Matthias Bolte <matthias.bolte@googlemail.com> wrote: > 2011/7/14 G Naresh Kumar <naresh.gadepalli@gmail.com>: >> Hi Maththias, > > Thanks for the help. I finally was able to compile/install libvirt on >> xenserver. >> >> I tried compiling the libvirt 0.9.2 with xen api support. Was able to >> install it successfully. When I tried giving the virsh command, I got an >> ‘authentication failed’ error as shown below. >> >> # virsh -c xenapi://<my local ip> >> Enter username for <mylocalip>: root > >Here you entered root > >> Enter intel123's password for <my local ip>: > >but here it asks for intel123's, that's unexpected. Did you edit this >one before mailing it, or is there really this mismatch? > >> error: authentication failed: (null) > >Outputting (null) here is actually a bug. The only way this can happen >is when the login attempt fails but the XenServer doesn't provide an >error message. Maybe have a look at the XenServer logs to see if it >says something about a failed login attempt. > >> I also tried connecting to the local machine as below, >> >> virsh -c "xenapi:///" >> error: authentication failed: Server name not in URI >> error: failed to connect to the hypervisor > >The XenAPI driver expects a server name. xenapi:/// _could_ be treated >as xenapi://localhost, but it's not implemented that way. > >> Also I am trying to install ruby-libvirt on xenserver, which looks like >> requires libvirt-devel package to be installed. How do I build it from the >> libvirt 0.9.2 source package. > >Running 'make rpm' should build an libvirt-devel RPM package for you. > >> Thanks, >> >> Naresh >> >> On Wed, Jun 15, 2011 at 8:19 PM, Matthias Bolte >> <matthias.bolte@googlemail.com> wrote: >>> >>> 2011/6/15 G Naresh Kumar <naresh.gadepalli@gmail.com>: >>> > Hi Maththias, >>> > >>> > Thanks a lot for your response!. >>> > >>> > Is there a specific version of libvirt from which xenserver support is >>> > added? I am getting the below error >>> > >>> > "error: invalid argument in libvirt was built without the 'xenapi' >>> > driver" >>> >>> The means that your libvirt version is new enough and contains the >>> XenAPI driver but that it was disabled on configure time, probably >>> because the build server didn't have libxenserver installed and >>> libvirt's configure script automatically disabled the driver because >>> of a missing dependency. >>> >>> > I have installed libvirt from citrix yum repo. >>> >>> Then Citrix build libvirt without XenAPI support. As a long term >>> solution you could report to whom ever is responsible for that repo >>> and request to enabled XenAPI support in that libvirt package. As a >>> short term solution you could build libvirt from source yourself and >>> make sure to get the XenAPI driver enabled. >>> >>> > I am using Xenserver 5.5 with libvirt 0.8.2 and it does not seem to be >>> > working. >>> >>> According to http://libvirt.org/hvsupport.html and the error message >>> 0.8.2 is new enough. >>> >>> Matthias >>> >>> > Thanks, >>> > >>> > Naresh >>> > >>> > On Jun 15, 2011 7:03 PM, "Matthias Bolte" >>> > <matthias.bolte@googlemail.com> >>> > wrote: >>> >> 2011/6/15 G Naresh Kumar <naresh.gadepalli@gmail.com>: >>> >>> Hi, >>> >>> Is libvirt supported on Citrix Xenserver. I have been searching for >>> >>> the >>> >>> same >>> >>> with little/no luck. >>> >>> If supported, can you point to some links/documents which can help me >>> >>> try >>> >>> out the same. >>> >>> Thanks, >>> >>> Naresh >>> >> >>> >> libvirt can use XenAPI via libxenserver [1]. That should allow you to >>> >> use libvirt with a Citrix XenServer. You can use virsh like this >>> >> assuming you have a libxenserver enabled libvirt: >>> >> >>> >> virsh -c xenapi://my-xen-server >>> >> >>> >> But it's true, there is no documentation about this on the libvirt >>> >> website >>> >> yet. >>> >> >>> >> [1] http://community.citrix.com/display/xs/Download+SDKs >>> >> >>> >> -- >>> >> Matthias Bolte >>> >> http://photron.blogspot.com >>> > >> -- >> I was an atheist till I realized I am GOD >> > >-- > Matthias Bolte >http://photron.blogspot.com > > >-- >I was an atheist till I realized I am GOD >_______________________________________________ >libvirt-users mailing list >libvirt-users@redhat.com >https://www.redhat.com/mailman/listinfo/libvirt-users

2011/7/19 sharmila radha krishnan <sharmilaradhakrishnan@rediffmail.com>
Hi, I was finally able to connect to the xenapi hypervisor. However, once I connect to virsh and give a 'quit' command I get "* glibc detected *** virsh: double free or corruption (fasttop):". Please find below the actual memory dump.
I looked at the XenAPI driver and found a double-free problem, based on the minimal stacktrace glibc provided. Here's a patch for this. I'd be glad if you could test it, as I don't have a XenAPI setup at hand. https://www.redhat.com/archives/libvir-list/2011-July/msg01543.html *Note:* I have disabled the SSL certificate verification in xenapi_driver.c
by setting curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0) & curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0).
No need to edit the code for this. You can pass the no_verify option in the connection URI to achieve this virsh -c xenapi://localhost/?no_verify=1 Moreover, Iam not able to start any VMs uisng xencenter after i have
started using virsh. It says, *Error: Starting VM 'XenServer SDK 5.6.100-47101p import' - Internal error: another frontend device is already connected to this domain (frontend (domid=0 | kind=vbd | devid=51712); backend (domid=0 | kind=vbd | devid=51712)).* Even a reboot of the machine didnt help.
Sorry, I've no idea what the problem could be here. Matthias Any pointers on the above 2 issues would be of great help.
Thanks in Advance!
Regards, Sharmila
From: "G Naresh Kumar"naresh.gadepalli@gmail.com Sent: Sat, 16 Jul 2011 16:55:16 +0530 To: Matthias Bolte matthias.bolte@googlemail.com Cc: libvirt-users@redhat.com Subject: Re: [libvirt-users] Is libvirt supported on Citrix Xenserver?
Hi Matthias,
Sorry for the confusion.It was an edited one & hence thetypo. Below is the
actual output:
# virsh -c xenapi://<myip>
Enter username for <myip>: root
Enter root's password for <myip>:
error: authentication failed: (null)
I was not able to get anything in the Xen logs. Somehowfigured out to print
the Xen error using the patch given at the link http://osdir.com/ml/libvir-
list/2011-06/msg00298.html. It prints"TRANSPORT_FAULT". Any pointers to this
error would be much appreciated. Iam also trying to debugthis issue.
As per your suggestion,
I had used make rpm. But it requires xen-devel pacakge,which I was
not able to get for Xen 3.4.2. Is there any way where I canuse the source
package and build & install the library without using'make rpm' ?
Thanks for all the help.
Regards
Naresh
On Thu, Jul 14, 2011 at 7:07 PM, Matthias Bolte < matthias.bolte@googlemail.com> wrote:
2011/7/14 G Naresh Kumar <naresh.gadepalli@gmail.com>:
Hi Maththias,
Thanks for the help. I finally was able to compile/install libvirt on
xenserver.
I tried compiling the libvirt 0.9.2 with xen api support. Was able to install it successfully. When I tried giving the virsh command, I got an ‘authentication failed’ error as shown below.
# virsh -c xenapi://<my local ip> Enter username for <mylocalip>: root
Here you entered root
Enter intel123's password for <my local ip>:
but here it asks for intel123's, that's unexpected. Did you edit this
one before mailing it, or is there really this mismatch?
error: authentication failed: (null)
Outputting (null) here is actually a bug. The only way this can happen is when the login attempt fails but the XenServer doesn't provide an error message. Maybe have a look at the XenServer logs to see if it says something about a failed login attempt.
I also tried connecting to the local machine as below,
virsh -c "xenapi:///" error: authentication failed: Server name not in URI error: failed to connect to the hypervisor
as xenapi://localhost, but it's not implemented that way.
Also I am trying to install ruby-libvirt on xenserver, which looks
requires libvirt-devel package to be installed. How do I build it from
The XenAPI driver expects a server name. xenapi:/// _could_ be treated like the
libvirt 0.9.2 source package.
Running 'make rpm' should build an libvirt-devel RPM package for you.
Thanks,
Naresh
On Wed, Jun 15, 2011 at 8:19 PM, Matthias Bolte <matthias.bolte@googlemail.com> wrote:
2011/6/15 G Naresh Kumar <naresh.gadepalli@gmail.com>:
Hi Maththias,
Thanks a lot for your response!.
Is there a specific version of libvirt from which xenserver support
is
added? I am getting the below error
"error: invalid argument in libvirt was built without the 'xenapi' driver"
The means that your libvirt version is new enough and contains the XenAPI driver but that it was disabled on configure time, probably because the build server didn't have libxenserver installed and libvirt's configure script automatically disabled the driver because of a missing dependency.
I have installed libvirt from citrix yum repo.
Then Citrix build libvirt without XenAPI support. As a long term solution you could report to whom ever is responsible for that repo and request to enabled XenAPI support in that libvirt package. As a short term solution you could build libvirt from source yourself and make sure to get the XenAPI driver enabled.
I am using Xenserver 5.5 with libvirt 0.8.2 and it does not seem to be working.
According to http://libvirt.org/hvsupport.html and the error message 0.8.2 is new enough.
Matthias
Thanks,
Naresh
On Jun 15, 2011 7:03 PM, "Matthias Bolte" <matthias.bolte@googlemail.com> wrote:
2011/6/15 G Naresh Kumar <naresh.gadepalli@gmail.com>: > Hi, > Is libvirt supported on Citrix Xenserver. I have been searching for > the > same > with little/no luck. > If supported, can you point to some links/documents which can help me > try > out the same. > Thanks, > Naresh
libvirt can use XenAPI via libxenserver [1]. That should allow you to use libvirt with a Citrix XenServer. You can use virsh like this assuming you have a libxenserver enabled libvirt:
virsh -c xenapi://my-xen-server
But it's true, there is no documentation about this on the libvirt website yet.
[1] http://community.citrix.com/display/xs/Download+SDKs
-- Matthias Bolte http://photron.blogspot.com
-- I was an atheist till I realized I am GOD
--
Matthias Bolte
-- I was an atheist till I realized I am GOD
participants (2)
-
Matthias Bolte
-
sharmila radha krishnan