Memory leak involving traceback objects

Rotem vmalloc at gmail.com
Thu Jul 16 04:43:32 EDT 2009


Hi,

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.

Before I dive into the Python code itself - does anyone have any idea
what can cause this?

Thanks,

Rotem



More information about the Python-list mailing list