[Libvir] FYI: bug in remote code

Mark Johnson johnson.nh at gmail.com
Tue Oct 16 19:29:26 UTC 2007


On 10/16/07, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Tue, Oct 16, 2007 at 02:52:27PM -0400, Mark Johnson wrote:
> > I ran into a bug in the remote code...
> >
> > I was doing
> >   # virsh -c xen_tcp://<ip_addr>/
> >
> > It you don't have qemu compiled in, you will hang in in libvirtd in
> >
> > do_open()
> >    res = virNetworkDriverTab[i]->open (ret, name, flags);
> >
> > when trying to open the remote network driver. Usually qemu
> > returns success and you fall out of the loop before you call
> > this (which is why you won't see it with qemu support built in).
> >
> > You hang in libvirtd trying to read from the libvirtd PF_UNIX
> > socket. You read from the socket because you hit this code
> > path in doRemoteOpen()
> >
> >     if (!uri->server && !transport_str) {
> >         if (flags & VIR_DRV_OPEN_REMOTE_UNIX) {
> >             transport = trans_unix;
> >
> > No idea what it should be doing? :-)
>
> That means if you don't specify a server / transport, it'll try to use
> the local libvirtd daemon. ie, it supports  qemu:///system  URIs
> So this is the correct thing to be doing, but the open question is why
> it would hang. If libvirtd isn't running locally it should give you
> back an immediate rejection / failure, not hang in read.

libvirtd is running locally..  This is libvirtd opening the socket
a second time and trying to talk to itself.


MRJ


> > I reproduced it on todays CVS bits on FC7 by commenting out qemu's
> > network register..
> >
> > int qemudRegister(void) {
> >     virRegisterDriver(&qemuDriver);
> >     /* virRegisterNetworkDriver(&qemuNetworkDriver); */
> >     virRegisterStateDriver(&qemuStateDriver);
> >     return 0;
> > }
>
> I'll give that a try.
>
>
> Dan.
> --
> |=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
> |=-           Perl modules: http://search.cpan.org/~danberr/              -=|
> |=-               Projects: http://freshmeat.net/~danielpb/               -=|
> |=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=|
>




More information about the libvir-list mailing list