At 08/01/2011 05:04 PM, Daniel Veillard Write:
> On Mon, Aug 01, 2011 at 04:51:38PM +0800, Wen Congyang wrote:
>> At 07/30/2011 03:02 PM, Daniel Veillard Write:
>>> I actually tagged and pushed the rc2 tarball and rpms yesterday
>>> but completely forgot to send the associated mail, oops !
>>>
>>>    ftp://libvirt.org/libvirt/libvirt-0.9.4-rc2.tar.gz
>>>
>>> Hopefully it fixes most of the problems raised with rc1, including
>>> a number of leaks. Please report and if you had an issue with rc1
>>> which is still not fixed there (or in git) please raise it ASAP.
>>> I'm planning for the final release early Tuesday 2 morning (i.e.
>>> late Monday for most :-)
>>
>> If client(for example: virsh) exits unexpectedly, it will cause libvirtd
>> crashed.
>>
>> Steps to reproduce this problem(vm1 does not run):
>> 1. for ((i=0; i < 50; i++)); do virsh managedsave vm1 & done; killall virsh
>>
>> The reason is that we free virNetServerClient when the refs is not 0.
>>
>> I read the code under the directory src/rpc/, and find we have xxxRef(), but
>> we do not have xxxUnref(). And sometimes we free the data structure if ref is
>> not 0. We add an reference of the data structure, but sometimes we forget to
>> unref it.
> 
>   Okay, so I count 3 issues we should fix before pushing 0.9.4 out
>    - this one (can you open a bugzilla for tracking), are you gonna
>      provide a patch ? Dan Berrange won't be around today

I open a bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=727071

I am still reading the code under src/rpc. I think I can not fix it before 
0.9.4 is
released. I hope someone can fix this problem before 0.9.4 is released.

>    - fix crash when mixing sync and async monitor jobs, we are waiting
>      on Eric's finding of his v3 version
>    - domabort seems broken in rc2
>      https://bugzilla.redhat.com/show_bug.cgi?id=727047

It's a very simple bug, and I think it's introduced by commit f9a837da.
I think the following patch can fix it(not test)

>From 42ea23f7f90e551fe74d849be152e8225ee15173 Mon Sep 17 00:00:00 2001
From: Wen Congyang <we...@cn.fujitsu.com>
Date: Mon, 1 Aug 2011 17:31:11 +0800
Subject: [PATCH] fix domjobabort's regression

This problem is introduced by commit f9a837da.
virDomainObjIsActive() return true means that the vm is running,
but we treat it as not running.

---
 src/qemu/qemu_driver.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e9aaac1..740934d 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -8074,7 +8074,7 @@ static int qemuDomainAbortJob(virDomainPtr dom) {
     if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_ABORT) < 0)
         goto cleanup;
 
-    if (virDomainObjIsActive(vm)) {
+    if (!virDomainObjIsActive(vm)) {
         qemuReportError(VIR_ERR_OPERATION_INVALID,
                         "%s", _("domain is not running"));
         goto endjob;
-- 
1.7.1


> 
>  thanks for the heads-up !
> 
> Daniel
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to