On Wed, Jun 4, 2008 at 12:45 AM, Herbert König &lt;<a href="mailto:herbertkoenig@gmx.net">herbertkoenig@gmx.net</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
if you inspect this you get an inspector on an Array. To the left<br>
select any entry with a left click (on Windows) and select &quot;objects<br>
pointing to this value&quot;. You get another inspector with an array of<br>
the objects pointing to the object you can&#39;t delete.<br>
<br>
Again inspecting one of these objects you can see how it points to<br>
your original object. This might give you a clue. And manually<br>
deleting these references (setting them to nil in the inspector) will<br>
eventually free your original object for garbage collection.</blockquote><div><br>This is helpful...and leads me to explain a little more because I was making an assumption that might not be correct...<br><br>I am writing a little arbitrary data collection application using Squeak and Aida.&nbsp; I can build forms with tabbed pages and add various fields, move them up and down, give them different labels, that whole thing.&nbsp; In short, I can create lots of objects within objects within objects.<br>
<br>My main classes are:<br><br>DataManager -- Manages a list of &quot;DataAbstractors&quot;<br>DataAbstractor -- Manages the &quot;DynamicRecordPage(s)&quot; (basically groups of fields)<br>DynamicRecordPage -- Manages &quot;FieldDefinition(s)&quot; <br>
DynamicRecord -- Holds the data and handles arbitrary messages based on a FieldDefinition.<br><br>I have been assuming that if I get rid of a DataAbstractor, all it&#39;s underlying objects would just &quot;go away&quot; as well (Pages and Records).<br>
<br>Do you have to explicitly remove the child objects BEFORE removing a parent object to ensure that it is removed properly?<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

If some of the objects you find are WeakArray or such you are in the<br>
(to me) murky area of finalization and weak references. Squeak dev<br>
would be the place to ask.</blockquote><div><br>Fortunately, these are all recognizable objects that I would expect! <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

You don&#39;t state the size of your problem. Is it three or is it<br>
thousands of instances hanging around?.</blockquote><div><br>Well, it is a few right now, but just grows continually as I use it!&nbsp; Nothing ever goes away, so I figure it will BE thousands if I don&#39;t figure this out.&nbsp; Every now and then I just save my project, blow it away, garbage collect, and reload everything.&nbsp; So far, that&#39;s the only way I can seem to get rid of anything! <br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I once tried the pointer finder tool but wasn&#39;t satisfied with it.<br>
<br>
And the swiki has a page on &quot;cleaning up junk&quot;.<br>
<br>
RR&gt; I still see the object I removed, even with an explicit<br>
RR&gt; Smalltalk garbageCollect or garbageCollectMost.&nbsp;<br>
<br>
RR&gt; &nbsp;Anything I create seems to hang around forever.<br>
<br>
Sometimes saving and reloading an image does a more thorough job than<br>
garbageCollect. Maybe because of the above mentioned weak references.</blockquote><div><br>Thanks for your help...<br></div></div><br>Rob<br>