CgDisplay, CgPrinterWindow, CgPrinterScreen instance growth

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

CgDisplay, CgPrinterWindow, CgPrinterScreen instance growth

Postby waynej » Wed Jun 03, 2009 6:30 am

We have a simple 7.5.1 application that periodically creates a VAST report and prints it. We've noticed a memory leak. The number of instances of CgDisplay, CgPrinterWindow, CgPrinterScreen, OSDevmode and other classes keeps growing. I haven't found the right thing to cause these things to get cleaned up. We create a AbtReportPrinter and it does get garbage collected. We get a AbtAppBldrReport subclass instance and we call #destroyPart on it, and these instances do get garbage collected. Is there some thing I am missing in order to free these other things up? Or should we instead try to hold onto the AbtReportPrinter instance to avoid creating new objects? That's what a 'sister' project did to solve the problem in their application.
Posts: 32
Joined: Wed Apr 18, 2007 9:18 am

Re: CgDisplay, CgPrinterWindow, CgPrinterScreen instance growth

Postby Diane Engles » Fri Jun 12, 2009 10:00 am

You might consider using the methods allReferences and allInstances in the context of GF/ST's Visual Inspectors.

GF/ST ships as as an unsupported goodie in version 7.x and 8.0. The documentation is in the installation readme directory and is titled Gfst70.pdf. Look in Appendix A for the Visual Inspector documentation.

There are two inspectors: the PsiVisualInspector and SmsVisualInspector that offer some extra features that may allow you to better explore references to your objects which are not getting cleaned up .

You could send a message such as MyClassOfInterest allReferences psiVisualInspect and a graphical inspector will open which lets you visually explore the objects which are referencing the class of interest. Also look at the class comment of SmsVisualInspecting for another way to inspect.

You will need to load the configuration map VisualInspector [TM] IBM/ST.
Instantiations Smalltalk Support
Diane Engles
Posts: 66
Joined: Mon Oct 16, 2006 2:40 pm

Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest