Issue45

Title Local functions that reference themselves as closure are never freed
Priority bug Status resolved
Superseder Nosy List kayhayen
Assigned To kayhayen Keywords wrong_execution

Created on 2012-08-26.10:49:15 by kayhayen, last changed by kayhayen.

Messages
msg988 (view) Author: kayhayen Date: 2015-03-08.19:09:11
Released as 0.5.10.1 hotfix
msg987 (view) Author: kayhayen Date: 2015-03-07.11:03:57
On current factory, there are changes that make this possible. Now that closure 
variables are attached to the function objects, can visit them properly for the 
garbage collection.
msg124 (view) Author: kayhayen Date: 2012-08-26.10:49:15
When a function is define like this

def f():
   return f

on the local scope, it will accept itself as a closure variable and create a 
reference cycle, that isn't broken yet. At this time, nothing detects this
cyclic reference.

Were "f" a closure variable in a cell, properly visited, it would detect the 
fact and free it.

This issue will likely only be solved, once that is implemented
History
Date User Action Args
2015-03-08 19:43:58kayhayensetstatus: testing -> resolved
2015-03-08 19:09:11kayhayensetmessages: + msg988
keyword: + wrong_execution
2015-03-07 11:03:57kayhayensetstatus: deferred -> testing
messages: + msg987
2012-08-26 10:49:15kayhayencreate