[Glass] Lots of seaside objects not being GCed (need gemstone advise)

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Fri Jul 3 20:22:33 PDT 2015

Hi guys,

Sorry to bother but I started to find many instances of things I think I
should not have.... I have a stone that nobody uses since a couple of hours
(so I am sure all sessions should have been expired). I have run this code
to clean:

ObjectLogEntry emptyLog.
WAGemStoneMaintenanceTask maintenanceTaskMarkForCollect performTask: 0.
WAGemStoneMaintenanceTask maintenanceTaskExpiration performTask: 0.
System beginTransaction.
SystemRepository reclaimAll.
SystemRepository startNewLog.
System commitTransaction.

Then...I check some #allInstances size and I get this:

DpWebSession allInstances size 32
WACallbackRegistry allInstances size 217
JQueryClass allInstances size 16519
WACache  allInstances size 35
WAApplication allInstances size 3
WARenderVisitor allInstances size 217
WARenderContext allInstances size 217
WAHtmlCanvas allInstances size 909

(just as some examples).

The good news is that ALL the sessions do look expired:

(DpWebSession allInstances select: [ :each | (each instVarNamed: 'parent')
isNil ]) size 32

(expired sessions have a nil 'parent').

However...I cannot explain why I still have all that garbage above if all
sessions are expired. Is that normal? I would expect to have nothing.

The worst is the WACallbackRegistry which then refer to closures and
contexts of my callbacks, which could refer to large amount of temp data
(like lots of XML objects...).

Is this normal? Any hint how can I get rid of those?

Thanks in advance,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20150704/a7c0b801/attachment.html>

More information about the Glass mailing list