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