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 <wency(a)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