On 2 Jun 2018, at 17:53, John Brant <brant@refactoryworkers.com> wrote:
On 05/26/2018 05:21 AM, Tudor Girba wrote:
Yes, Glamour is stable since years. Yes, we did have some leak issues that appeared along the way. Last year, we discovered that a memory leak came from Rubric (specifically there was a global variable in it). People saw inspectors laying around, so naturally, the issue was seen as being due to GT. And now there is another one, which is still under investigation. For me, the main issue is not the memory leak, but the fact that we have no tool to reason about them.
I found a memory leak in GLMHintableActionButtonBrick. It has an asyncTask class instance variable that holds a GLMAsyncTask. After running for a while -- opening and closing inspectors and other tools, I closed several windows, did a GC and expected to not have any AST nodes hanging around. However, I found several, so I used my ReferenceFinder tool to find a reference path. That path went through the GLMHintableActionButtonBrick to a GLMAsyncTask to a block that holds a reference to a GLMHintableActionButtonBrick instance. Following references out of the GLMHintableActionButtonBrick instance eventually leads to a NodeMorph which has a NodeModel that contained my AST node.
Thanks, I have added it to the issue tracker to not lose it: https://pharo.fogbugz.com/f/cases/22163/Memory-Leak-GLMHintableActionButtonB...