[pygtk] Occasional gobject assertion errors
Johan Dahlin
jdahlin at async.com.br
Thu Mar 16 03:37:47 WST 2006
skip at pobox.com wrote:
> At work one of our main applications uses gobject signals (though no gtk
> stuff for this particular beast). One particular signal is successfully
> emitted thousands of times over a several day period, then mysteriously
> raises an assertion error:
>
> GLib-GObject-CRITICAL **: g_closure_unref: assertion `closure->ref_count > 0' failed
>
> then dumps core. The beginning of the traceback looks like:
>
> (gdb) bt
> #0 0x09579419 in ?? ()
> #1 0xfeb998c6 in g_closure_invoke () from /opt/app/gnome-2.6//lib/libgobject-2.0.so.0
> #2 0xfebae7f9 in signal_emit_unlocked_R () from /opt/app/gnome-2.6//lib/libgobject-2.0.so.0
> #3 0xfebace14 in g_signal_emitv () from /opt/app/gnome-2.6//lib/libgobject-2.0.so.0
> #4 0xfec0078f in pygobject_emit () from /opt/lang/python/lib/python2.3/site-packages/3rdParty/gtk-2.6/gobject.so
> #5 0x080fac78 in PyCFunction_Call (func=0x89fd72c, arg=0x88b380c, kw=0x0) at ../Objects/methodobject.c:108
> #6 0x080abdd2 in call_function (pp_stack=0x804588c, oparg=2) at ../Python/ceval.c:3439
> #7 0x080aa2b6 in eval_frame (f=0x89ae78c) at ../Python/ceval.c:2116
> ...
>
> I can't see anything in our code that would suggest any object has been
> freed. We're using Gtk 2.6.8 and PyGtk 2.6.1. We recently switched from
> Gtk 2.4 and don't recall seeing this problem with it. I don't know where to
> look for Gtk/PyGtk bug reports, but Googling by a couple of us didn't turn
> up anything useful.
>
> Does this look familiar to anyone? Is it maybe a bug fixed in a later
> release?
Do you use threads?
Can you try using the latest 2.8.x version, it may already have been fixed
in there.
I think the only way to solve this is to write an isolated testcase.
--
Johan Dahlin <jdahlin at async.com.br>
Async Open Source
More information about the pygtk
mailing list