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 |
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 > > 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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |