On Wed, Mar 11, 2009 at 10:12:16AM -0700, Kaitlin Rupert wrote: > Daniel P. Berrange wrote: > >On Fri, Feb 13, 2009 at 03:37:22PM -0800, Kaitlin Rupert wrote: > >>Hi, > >> > >>I'm running Fedora 10 with the following libvirt version: libvirt-0.6.0-3 > >> > >>I'm calling virDomainGetVcpus() with the following parameters: > >>virDomainGetVcpus(dom, info, max, NULL, 0); where max = 2 and dom and > >>info are both non-NULL. > >> > >>However, I'm getting the following error from libvirt: libvir: Domain > >>error : invalid argument in virDomainGetVcpus > >> > >>I tracked this down, and it's failing the if (cpumaps != NULL && maplen > >>< 1) check in libvirt.c because cpumaps is non-NULL. Which is very > >>strange because I'm definitely passing a NULL value. > > > >The qemud/remote.c helper for the virDomainGetVcpus method is just > >doing a totally bogus calculation/allocation for the cpumaps field. > >It needs fixing somehow, but I'm not sure how yet > > Any update on this? I've had another look at it, and believe I have a suitable fix. There were two problems. - Not allocating a large enough array for the cpumaps field - Not respecting a cpumaplen=0, as meaning pass cpumaps=NULL The latter is what was causing the error message you saw I believe. Can you try the following patch Daniel Index: qemud/remote.c =================================================================== RCS file: /data/cvs/libvirt/qemud/remote.c,v retrieving revision 1.64 diff -u -p -r1.64 remote.c --- qemud/remote.c 3 Mar 2009 09:27:03 -0000 1.64 +++ qemud/remote.c 12 Mar 2009 11:50:58 -0000 @@ -1475,7 +1475,8 @@ remoteDispatchDomainGetVcpus (struct qem /* Allocate buffers to take the results. */ if (VIR_ALLOC_N(info, args->maxinfo) < 0) goto oom; - if (VIR_ALLOC_N(cpumaps, args->maxinfo) < 0) + if (args->maplen > 0 && + VIR_ALLOC_N(cpumaps, args->maxinfo * args->maplen) < 0) goto oom; info_len = virDomainGetVcpus (dom, -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list