[pygtk] PyGObject leaking?
tonynelson at georgeanelson.com
Fri Apr 13 00:23:28 WST 2007
At 10:19 AM -0400 4/12/07, John Ehresman wrote:
>Tony Nelson wrote:
>> I say again: Python will collect objects as soon as they become
>> unreferenced. Immediately. It has /nothing/ to do with Garbage
>> Collection. It is Reference Counting, and it is the standard way that
>> Python has always reclaimed unused objects, even before there was Cyclic GC.
>You're correct that CPython uses reference counting and disposes of
>objects when the count goes to 0. However when a object is part of a
>cycle, the count won't go to 0 until the cyclic gc runs. Every python
>wrapper for a GObject derived instance is part of a cycle, so these
>objects are not disposed of until the gc runs.
Doesn't make it any less a bug, even if it is a very hard bug. I've
glanced over http://bugzilla.gnome.org/show_bug.cgi?id=320428. ISTM the
bug is from trying to joing two objects together as one. I haven't looked
at the code (and the patches by themselves aren't making sense), but could
the two objects actually become one hybrid object, possibly a proxy
forwarding object that simply owns the two real objects? Obviously I don't
understand how such a state comes to be, where there must have been two
objects created independently that represent a single object.
TonyN.:' <mailto:tonynelson at georgeanelson.com>
More information about the pygtk