[Libguestfs] guestfs_launch gets stuck

Richard W.M. Jones rjones at redhat.com
Mon Aug 29 15:31:59 UTC 2016


On Mon, Aug 29, 2016 at 11:19:04PM +0800, Baochuan Wu wrote:
> Thanks Rich for you quick reply. I enabled logs and the program stuck
> again, here is the call stack and log:
> Thread 1 (Thread 0x7fac58edc8c0 (LWP 1271)):
> #0  0x00007fac578fac20 in __poll_nocancel () from /lib64/libc.so.6
> #1  0x00007fac56df3c5a in virNetClientIOEventLoop () from
> /lib64/libvirt.so.0
> #2  0x00007fac56df441b in virNetClientSendInternal () from
> /lib64/libvirt.so.0
> #3  0x00007fac56df5843 in virNetClientSendWithReply () from
> /lib64/libvirt.so.0
> #4  0x00007fac56df6052 in virNetClientProgramCall () from
> /lib64/libvirt.so.0
> #5  0x00007fac56dcbfe2 in callFull.isra.2 () from /lib64/libvirt.so.0
> #6  0x00007fac56de213d in remoteDomainCreateXML () from /lib64/libvirt.so.0
> #7  0x00007fac56d82151 in virDomainCreateXML () from /lib64/libvirt.so.0
> #8  0x00007fac58acca50 in launch_libvirt () from /lib64/libguestfs.so.0
> #9  0x00007fac58ac2b2b in guestfs_impl_launch () from /lib64/libguestfs.so.0
> #10 0x00007fac58a5eba5 in guestfs_launch () from /lib64/libguestfs.so.0
> #11 0x00000000004117ca in main ()
...
> libguestfs: [62900ms] launch libvirt guest

The error is happening in libvirt's virDomainCreateXML call, called
from libguestfs here:

https://github.com/libguestfs/libguestfs/blob/master/src/launch-libvirt.c#L600

Unfortunately libvirt isn't a simple C library.  It will launch and
talk to a daemon (usually ``libvirt --timeout=30'' process, if you are
not running as root).  Debugging into libvirtd is described here:

http://libguestfs.org/guestfs-faq.1.html#debugging-libvirt

A workaround is to set LIBGUESTFS_BACKEND=direct [or use the
equivalent call ``guestfs_set_backend (g, "direct")''] which will
cause libguestfs to run qemu directly instead of going through
libvirt.

http://libguestfs.org/guestfs.3.html#backend

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/




More information about the Libguestfs mailing list