In article <e6e9b9ea-1f8c-4695-90da-72e85c8a6...@v20g2000yqm.googlegroups.com>, Rotem <vmal...@gmail.com> wrote: > >I'm debugging a nasty memory leak in a framework written in Python >(v2.6.2). >After much digging around I found that the entire object group that is >leaking is held by a frame object which is subsequently held by a >traceback object. > >Traversing the get_referrers() of each traceback frame leads >eventually to a root traceback frame which has no referrers >(gc.get_referrers returns an empty list). > >However, this traceback object seems not to be picked by the garbage >collector, and is still there even after many iterations and calls to >gc.collect(). The code location to which the traceback frame points >doesn't do anything special - it just catches an exception, without >saving the exception itself and/or traceback anywhere.
What *does* it do? Does it re-raise? This sounds like you're still in block scope of an exception. -- Aahz (a...@pythoncraft.com) <*> http://www.pythoncraft.com/ "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." --Red Adair -- http://mail.python.org/mailman/listinfo/python-list