Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000486 [Croquet] Jasmine major always 11-02-04 20:36 11-02-04 22:38
Reporter elenzil View Status public  
Assigned To Croqueteer
Priority normal Resolution fixed  
Status resolved  
Summary 0000486: TObject not garbage collected
Description In a console, try this:
------------------
s1 := TObject allInstances size.
foo := TObject new.
foo := TObject new.
s2 := TObject allInstances size.
Transcript show: (s2 - s1);cr.
------------------

the result is 2.



Additional Information
Attached Files

- Relationships

- Notes
(0000587 - 284 - 347 - 347 - 347 - 347 - 347)
elenzil
11-02-04 21:35

aha -
it probably has to do with the explicit change from WeakValueDictionary to plain Dictionary in TeapotMorph teaObjects:

teaObjects
" ^self valueOfProperty: #teaObjects ifAbsentPut:[WeakValueDictionary new]."
    ^self valueOfProperty: #teaObjects ifAbsentPut:[Dictionary new].
 
(0000588 - 820 - 935 - 935 - 935 - 935 - 935)
Croqueteer
11-02-04 22:38

This is my fault. I changed the WeakDict to Dict a while back to fix a problem we were having with replicating new objects. I believe that this is now working properly - though we will need to watch it. What was happening was something like this:

a := TObject new. "this generates a new object and has a local reference to it. It is also generated remotely, but the only reference to it is in the tea dictionary".

....possible remote gc...

b addChild: a. "of course, locally this is fine, but since the remote object never had a hard reference, it could have been lost. It turned out that the problem we were having was something else, but I would still keep an eye on this moving forward"

I have changed it back to:

teaObjects

    ^self valueOfProperty: #teaObjects ifAbsentPut:[WeakValueDictionary new].
 

- Issue History
Date Modified Username Field Change
11-02-04 20:36 elenzil New Issue
11-02-04 21:35 elenzil Note Added: 0000587
11-02-04 22:38 Croqueteer Status new => resolved
11-02-04 22:38 Croqueteer Resolution open => fixed
11-02-04 22:38 Croqueteer Assigned To  => Croqueteer
11-02-04 22:38 Croqueteer Note Added: 0000588


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
39 total queries executed.
32 unique queries executed.
Powered by Mantis Bugtracker