You need to free() all domain objects that represent the undefine domain before defining a domain with the same name again: System.out.println("first define tt2..."); Domain dm1 = conn.domainDefineXML(dumpxml); Domain dm2 = conn.domainLookupByName("tt2"); System.out.println("Now undefine...."); if (dm2 != null) { System.out.println("undefine tt2..."); dm2.undefine(); dm2.free(); dm1.free(); // <---------- need to free dm1 here too System.out.println("undefine tt2... done"); } Matthias 2010/10/21 Ravi Pawar <ravifc@xxxxxxxxx>: > Thanks Matthias, > > can you please have a look at the program attached? this should work as i > have used free() call. but its not working for me. > > Thanks, > Ravi > > On Mon, Oct 18, 2010 at 6:20 PM, Bryan Kearney <bkearney@xxxxxxxxxx> wrote: >> >> On 10/15/2010 10:05 AM, Matthias Bolte wrote: >>> >>> 2010/10/13 Matthias Bolte<matthias.bolte@xxxxxxxxxxxxxx>: >>>> >>>> 2010/10/12 Matthias Bolte<matthias.bolte@xxxxxxxxxxxxxx>: >>>>> >>>>> 2010/10/12 Ravi Pawar<ravifc@xxxxxxxxx>: >>>>>> >>>>>> 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 >> >> > > > > -- > Thanks & Regards > > Ravi Pawar >