On 10/15/2010 10:05 AM, Matthias Bolte wrote:
2010/10/13 Matthias Bolte<matthias.bolte(a)googlemail.com>:
> 2010/10/12 Matthias Bolte<matthias.bolte(a)googlemail.com>:
>> 2010/10/12 Ravi Pawar<ravifc(a)gmail.com>:
>>> hi,
>>>
>>> i am trying to undefine a domain by using dm.undefine();
>>> and then trying to create one with same name is giving me error saying
>>> 'Domain not found: no domain with matching uuid
>>> 'aeae9d4e-17cb-b661-a612-88ac677c28c1'
>>>
>>> i have attached my test program which reproduces the issue.
>>>
>>> please let me know where i am going wrong?
>>>
>>> configuration: libvirt : 0.6.3
>>> Java Bindings: 0.4.2
>>
>> I didn't look into this problem in detail, but I think you need to
>> call free on the Domain object after you undefined it.
>>
>> dm.undefine();
>> dm.free();
>> dm = null;
>>
>> Matthias
>>
>
> Okay, calling free doesn't help. I tested it with libvirt 0.6.3 and
> libvirt-java 0.4.6 and can reproduce your problem.
>
> This problem is fixed in libvirt 0.8.2. I didn't track it down to the
> actual commit.
>
> So in order to fix your problem you'll have to update libvirt to 0.8.2
> or identify the commit between 0.8.1 and 0.8.2 that fixes your problem
> and backport it to 0.6.3.
>
> Matthias
>
I found the commit (30ec755ecb3350116d2851afa0de02e77dbe2c51) that
avoids the problem in your original test code. I say 'avoid' instead
of 'fix' because the actual fix is to call free on the domain objects
after undefining them as I initially suggested. But when I tested this
I did it wrong and jumped to false conclusions.
Just to say it once again: Adding free calls solve this problem for me
with libvirt 0.6.3.
I attached a modified version of your test code that works for me.
Which the latest code has.
-- bk