Hi Y'all,<br><br>I have a long running text mode application (an Asterisk interface) which uses Urwid and Twisted. The library itself performs the functions I require, but I notice over time my little application consumes more and more memory.<br>
<br>For my main call list window, I started out using a SimpleListWalker and switched to the default of the ListBox - the PollingListWalker which solved one leak, but then I observed that whenever I opened an additional window, objects accumulated which were not released. The Python version I have tried this on is 2.5.2 and the 2.5 generation from Debian Etch.<br>
<br>I attach a sample which demonstrates the problem. Iterating using Test() produces the memory leak as more and more objects are tracked by the garbage collector but don't seem to be returned or collected and are yet not uncollectable. I created an alternative (Test2()) which simply allocates and then pops from a list. At the end of each procedure, the procedure's non externally referenced variables should be disposed, but the objects from Test() persist and grow.<br>
<br>I am sure there must be a very simple explanation why this happens. Perhaps someone could explain it.<br><br>Many thanks.<br><br>