Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007122 [Squeak] Kernel major always 07-16-08 19:05 07-16-08 19:05
Reporter wiz View Status public  
Assigned To
Priority low Resolution open  
Status new   Product Version
Summary 0007122: abuse of dependency mechanisism (keys ref'ed by values) can lead to serious memory leaks.
Description see 0007119 particularly nicolas's comments for features of this problem.


The purpose of this report is to focus on:

o Detection of these conditions in the image.
o Raise awareness amoung the unwitting perpetrators.
o Find good regression tests to catch this problem early.

Additional Information Some applications set dependency keys that have values that refer to the keys.

In a weak dictionary this prevents the keys from being gc'ed. They have to be specifically removed from the dictionary.

For OB browsers this meant everything and thier owners were pointed to from the un gc'able key and would hang around even after the browser had been deleted.

The simplist way to make this occur would be to
open a browser
select a method and
make an edit in the methods text.

Once this happened (at least for OB browsers in the dev image) a circular reference would be set.

Deleting the browser would still leave references to its panes, grouping morphs, and the system window itself.

The solution there was a need to break the dependencies.

I've uploaded here the preliminary test I wrote for 0007119.
As time permits I hope to add other more focused tests.

Yours in curiosity and service, --Jerome Peace

Attached Files  MorphicUIBugTe...tforZombies.st [^] (502 bytes) 07-16-08 19:05

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
07-16-08 19:05 wiz New Issue
07-16-08 19:05 wiz File Added: MorphicUIBugTe...tforZombies.st


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