[libvirt] timing issues of calling virsh on the command line

Hi, I've encountered some concurrency issues when calling virsh in a script. If I try to restore a VM too soon after it's been saved, libvirtd will stop responding. As well, if I try to save a VM too soon after it's been restored, libvirtd will stop responding. At the moment, I am not using any type of wait in my program for virsh to come back. I merely let the system call run its course and I assume that virsh will return when it's done waiting. Is there any type of wait that needs to occur in order to avoid these concurrency issues? Thanks, David

On Sat, Nov 07, 2009 at 10:24:30AM -0500, David Wilcox wrote:
Hi,
I've encountered some concurrency issues when calling virsh in a script. If I try to restore a VM too soon after it's been saved, libvirtd will stop responding. As well, if I try to save a VM too soon after it's been restored, libvirtd will stop responding.
First what version are you using ? What kind of domains, what versions of the hypervisor etc ... Second assuming something recent, could you run /usr/sbin/libvirtd under gdb, then reproduce the problem and provide a stack trace ? See the end of https://fedoraproject.org/wiki/How_to_debug_Libvirt_problems for detailed informations If libvirtd is not responding it's very probably crashed, and we need to fix the crash.
At the moment, I am not using any type of wait in my program for virsh to come back. I merely let the system call run its course and I assume that virsh will return when it's done waiting.
Is there any type of wait that needs to occur in order to avoid these concurrency issues?
The operation should be synchronous, so no wait should be needed something is behaving. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

The libvirt version I'm using is 0.6.2. The domains I'm using are fedora 11 netboot images. The images don't ever complete their netboot because they get stuck due to some error in detecting hardware. Because my experiments solely involve swapping machines, and I don't really actually care about running anything, this is fine for me. I'm using qemu-kvm version 0.10.6. I attached the log I received in On Mon, Nov 9, 2009 at 2:47 AM, Daniel Veillard <veillard@redhat.com> wrote:
On Sat, Nov 07, 2009 at 10:24:30AM -0500, David Wilcox wrote:
Hi,
I've encountered some concurrency issues when calling virsh in a script. If I try to restore a VM too soon after it's been saved, libvirtd will stop responding. As well, if I try to save a VM too soon after it's been restored, libvirtd will stop responding.
First what version are you using ? What kind of domains, what versions of the hypervisor etc ...
Second assuming something recent, could you run /usr/sbin/libvirtd under gdb, then reproduce the problem and provide a stack trace ? See the end of https://fedoraproject.org/wiki/How_to_debug_Libvirt_problems
for detailed informations If libvirtd is not responding it's very probably crashed, and we need to fix the crash.
At the moment, I am not using any type of wait in my program for virsh to come back. I merely let the system call run its course and I assume that virsh will return when it's done waiting.
Is there any type of wait that needs to occur in order to avoid these concurrency issues?
The operation should be synchronous, so no wait should be needed something is behaving.
Daniel
-- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (2)
-
Daniel Veillard
-
David Wilcox