[Libvir] FYI: bug in remote code

Mark Johnson johnson.nh at gmail.com
Tue Oct 16 18:52:27 UTC 2007


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? :-)

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;
}


MRJ




More information about the libvir-list mailing list