[vtkusers] Delete problems

Dominik Szczerba domi at vision.ee.ethz.ch
Fri Jul 14 15:35:47 EDT 2006


Thanks a lot, I am doing all this, still with no success:

"Trying to delete object with non-zero reference count."

Indeed, if I print the reference count it is never zero. So does the 
delete order really not matter? If I can only delete non-zero counted 
objects, then I cannot delete anything! Are the children not deleted 
automatically or something?

regards
Dominik

David Cole wrote:
> Any "New" calls should have corresponding "Delete" calls. Any "Register" 
> calls should have corresponding "UnRegister" calls. And any reference 
> loops need to be broken by setting one of the pointer variables involved 
> to NULL or 0.
> 
> Order is largely irrelevant except in the reference loop case. Sometimes 
> it's important to know which part of a reference loop needs to go away 
> first. Perhaps you need to force a bunch of objects to go away before a 
> window is destroyed (for example).
> 
> That's the beauty of reference counted systems: order doesn't matter as 
> much as balance does...
> 
> If you can't figure out where there's a missing Delete or UnRegister 
> call, look for loops in pointer members (does your pipeline have a 
> feedback loop??) It sometimes helps to draw a diagram of the pipeline. 
> Or you could try simplifying it bit by bit and see when the leak goes 
> away... Then start adding things back in until the leak comes back. That 
> should point out where to look in the code...
> 
> 
> Hope this helps,
> David
> 
> 
> Dominik Szczerba wrote:
> 
>> Hi,
>>
>> I have a quite complex pipeline with a few actors and filters. When I 
>> clean up at the end I always get a non-zero reference count somewhere 
>> (using C++). How do I robustly know in which order I should Delete my 
>> components?
>>
>> PS. this is particularly annoying in combination matlab-vtk, as matlab 
>> dies on any of such errors.
>>
>> regards,
>> Dominik
>> _______________________________________________
>> This is the private VTK discussion list. Please keep messages 
>> on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>

-- 
Dominik Szczerba, Ph.D.
Computer Vision Lab CH-8092 Zurich
http://www.vision.ee.ethz.ch/~domi



More information about the vtkusers mailing list