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...
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/