|Anonymous | Login||10-25-2021 14:44 UTC|
|Main | My View | View Issues | Change Log | Docs|
|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|
|Summary||0000486: TObject not garbage collected|
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.
(0000587 - 284 - 347 - 347 - 347 - 347 - 347)
it probably has to do with the explicit change from WeakValueDictionary to plain Dictionary in TeapotMorph teaObjects:
" ^self valueOfProperty: #teaObjects ifAbsentPut:[WeakValueDictionary new]."
^self valueOfProperty: #teaObjects ifAbsentPut:[Dictionary new].
(0000588 - 820 - 935 - 935 - 935 - 935 - 935)
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:
^self valueOfProperty: #teaObjects ifAbsentPut:[WeakValueDictionary new].
|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.