[vwnc] Memory leak

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] Memory leak

cdavidshaffer
I've encountered a persistent memory leak during development with
VW7.6.  I don't know if it is a problem with an extension (I use
RBTabbedToolsets, RBStoreExtensions, RBSUnitExtensions and a few
others).  The leak is in the ChangeSet class' dependents.  It seems that
some BrowserCodeTool instances are not being #release-d so they are left
as dependents.  I regained 80Mb of memory with the following (after
closing all browser windows and doing a GC):

ChangeSet dependents copy do: [:each |
    (each isKindOf: Refactory.Browser.BrowserCodeTool)
        ifTrue: [ChangeSet removeDependent: each]]


Before doing this I inspected some of the BrowserCodeTool instances.
Nothing really stood out (the text i-var had method code for several of
my methods).  I expect this leak to continue so I'd be happy to give
more information if I knew what to look for.

David

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Memory leak

cdavidshaffer
Janko Mivšek wrote:

> Hmm, I just closed two RB windows I have open with many tabs for months
> and reclaimed 150M of memory (7.6)! My image is namely auto saving every
> hour and therefore stays open for a long time.
>
> More exactly, I did:
> - run your script and GC: reclaimed 12MB
> - close both RB windows and GC: reclaimed 150MB
> - roun your script once again: no more to reclaim.
>
> Best regards
> Janko
>
>  
Thanks Janko, yes, I also see other massive leaks in open RB's as
discussed in an earlier thread (title "[vwnc] RB caching 10's of MB of
data?") but this is a separate problem.  That is, closing all browsers
and GC-ing doesn't fix this leak although it does "fix" the one
discussed in the other thread.

David

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Memory leak

Terry Raymond
In reply to this post by cdavidshaffer
I don't see this particular problem. Maybe it is due to a
particular CodeTool or the way the browser gets closed.

However, I have noticed that my image keeps growing. Also,
I notice that one of ChangeSet's dependents is an
Store.XmainChangeSet and it seems to have a cumulative set
of changes. One would think that if a package has no changes,
then the XmainChangeSet would not continue to hold them.

Terry
 
===========================================================
Terry Raymond
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf Of C. David Shaffer
> Sent: Friday, July 31, 2009 1:02 PM
> To: [hidden email]
> Subject: [vwnc] Memory leak
>
> I've encountered a persistent memory leak during development with
> VW7.6.  I don't know if it is a problem with an extension (I use
> RBTabbedToolsets, RBStoreExtensions, RBSUnitExtensions and a few
> others).  The leak is in the ChangeSet class' dependents.  It seems that
> some BrowserCodeTool instances are not being #release-d so they are left
> as dependents.  I regained 80Mb of memory with the following (after
> closing all browser windows and doing a GC):
>
> ChangeSet dependents copy do: [:each |
>     (each isKindOf: Refactory.Browser.BrowserCodeTool)
>         ifTrue: [ChangeSet removeDependent: each]]
>
>
> Before doing this I inspected some of the BrowserCodeTool instances.
> Nothing really stood out (the text i-var had method code for several of
> my methods).  I expect this leak to continue so I'd be happy to give
> more information if I knew what to look for.
>
> David
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Memory leak

Joachim Geidel
I have seen the effect of BrowserCodeTools accumulating in the ChangeSet's
dependents collection too, and have reported it in a message to vw-dev on
July 19th (the subject was " Re:[cake jul09.3] Error messages when loading
RBSUnitExtensions"). I had an image with many instances of BrowserCodeTool
in that collection although I didn't have a single browser open. Some of
those BrowserCodeTools referenced instances of CodeModel which generated
error messages in the Transcript when certain RB add-ons were loaded and
executed the method CodeModel class>>classMethodsChanged.

The only add-ons which I had loaded were the following:

    '$(VISUALWORKS)/contributed/SUnitToo.pcl'
    '$(VISUALWORKS)/contributed/SUnitTools.pcl'
    '$(VISUALWORKS)/contributed/ProgrammingExtensions.pcl'
    '$(VISUALWORKS)/dllcc/DLLCC.pcl'
    '$(VISUALWORKS)/advanced/AllAdvancedTools.pcl'
    '$(VISUALWORKS)/contributed/RBCodeHighlighting.pcl'
    '$(VISUALWORKS)/parcels/MacOSXExtra.pcl'
    '$(VISUALWORKS)/parcels/MacPrintingSupport.pcl'
    '$(VISUALWORKS)/parcels/Model-Observables.pcl'

It seems that at least sometimes, the BrowserCodeTools aren't removed from
ChangeSet's dependents collection when a browser is closed, but I have no
clue under which circumstances this happens.

Joachim Geidel

Am 01.08.09 00:42 schrieb Terry Raymond:

> I don't see this particular problem. Maybe it is due to a
> particular CodeTool or the way the browser gets closed.
>
> However, I have noticed that my image keeps growing. Also,
> I notice that one of ChangeSet's dependents is an
> Store.XmainChangeSet and it seems to have a cumulative set
> of changes. One would think that if a package has no changes,
> then the XmainChangeSet would not continue to hold them.
>
> Terry
>  
> ===========================================================
> Terry Raymond
> Crafted Smalltalk
> 80 Lazywood Ln.
> Tiverton, RI  02878
> (401) 624-4517      [hidden email]
> <http://www.craftedsmalltalk.com>
> ===========================================================
>
>> -----Original Message-----
>> From: [hidden email] [mailto:[hidden email]] On Behalf Of
>> C. David Shaffer
>> Sent: Friday, July 31, 2009 1:02 PM
>> To: [hidden email]
>> Subject: [vwnc] Memory leak
>>
>> I've encountered a persistent memory leak during development with
>> VW7.6.  I don't know if it is a problem with an extension (I use
>> RBTabbedToolsets, RBStoreExtensions, RBSUnitExtensions and a few
>> others).  The leak is in the ChangeSet class' dependents.  It seems that
>> some BrowserCodeTool instances are not being #release-d so they are left
>> as dependents.  I regained 80Mb of memory with the following (after
>> closing all browser windows and doing a GC):
>>
>> ChangeSet dependents copy do: [:each |
>>     (each isKindOf: Refactory.Browser.BrowserCodeTool)
>>         ifTrue: [ChangeSet removeDependent: each]]
>>
>>
>> Before doing this I inspected some of the BrowserCodeTool instances.
>> Nothing really stood out (the text i-var had method code for several of
>> my methods).  I expect this leak to continue so I'd be happy to give
>> more information if I knew what to look for.
>>
>> David
>>
>> _______________________________________________
>> vwnc mailing list
>> [hidden email]
>> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Memory leak

Holger Guhl
In reply to this post by cdavidshaffer
David,
the problem you describe looks like an effect reported as support case.
We observed that dependencies between Refactoring Browser and
TabControlBarView instances were not fully released when browser
instances go to sleep for snapshot. The effect could be observed only if
RBTabbedToolsets was loaded.
For Cincom Support customers exists a solution. If you want to give it a
try, please refer to Case 409466 (Dead WinXPTabControlBarView instances
survive) and resolution Res95764.
A simple workaround is closing Refactoring Browsers before snapshot.

Best Regards
Holger Guhl

--
Senior Consultant * Certified Scrum Master * [hidden email]
Tel: +49 231 9 75 99 21 * Fax: +49 231 9 75 99 20
Georg Heeg eK Dortmund
Handelsregister: Amtsgericht Dortmund  A 12812


C. David Shaffer schrieb:

> I've encountered a persistent memory leak during development with
> VW7.6.  I don't know if it is a problem with an extension (I use
> RBTabbedToolsets, RBStoreExtensions, RBSUnitExtensions and a few
> others).  The leak is in the ChangeSet class' dependents.  It seems that
> some BrowserCodeTool instances are not being #release-d so they are left
> as dependents.  I regained 80Mb of memory with the following (after
> closing all browser windows and doing a GC):
>
> ChangeSet dependents copy do: [:each |
>     (each isKindOf: Refactory.Browser.BrowserCodeTool)
>         ifTrue: [ChangeSet removeDependent: each]]
>
>
> Before doing this I inspected some of the BrowserCodeTool instances.
> Nothing really stood out (the text i-var had method code for several of
> my methods).  I expect this leak to continue so I'd be happy to give
> more information if I knew what to look for.
>
> David
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>  
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc