On 07/29/2011 08:53 PM, Wen Congyang wrote: > At 07/30/2011 05:37 AM, Eric Blake write: >> On 07/29/2011 03:32 PM, Eric Blake wrote: >>> Currently, we attempt to run sync job and async job at the same time. It >>> means that the monitor commands for two jobs can be run in any order. >>> >> >>> >>> v3: incorporate Wen's feedback - in particular, virProcessStartCPUs >>> now checks for return type, restarting libvirt does not use an >>> async job, and I didn't hit the deadlock in the same scenarios as >>> I tested under v2. >>> I still need to do migration testing before I'm convinced that this >>> is right, but it's doing a lot better. >> >> Nope, just got a deadlock, by sending SIGINT (^C) during the middle of >> virsh managedsave. I'll have to keep looking for that culprit... > > I think it's not a deadlock. Some threads of libvirtd quited, but the > thread > to do managedsave does not quit, and it is blocked in qemuMonitorSend(), > and there is no thread to do monitor IO. Then that sounds like an independent bug - ctrl-C of libvirtd should be able to cleanly kill a thread in qemuMonitorSend; but since you are less likely to kill libvirtd, I think this second issue is not a show-stopper to releasing 0.9.4. I'll try to investigate it further, and opened this to remind me: https://bugzilla.redhat.com/show_bug.cgi?id=727254 -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list