I'm returning to GTK and PyGTK after an absence of a couple years.
Unfortunately, my work platform has since morphed into Solaris/Intel (not a
real mainstream environment). I am currently running
* Python from CVS
* glib 2.2.0
* atk 1.2.4
* pango 1.2.5
* gtk 2.2.4
* pygtk 2.0.0
If I create a trivial module which contains this single line:
import gtk
then run pychecker over it, Python gets a segmentation violation. I
whittled that down to
>>> import gtk
>>> gtk.CList.__gdoc__
Program received signal SIGSEGV, Segmentation fault.
0xdd88f724 in strlen () from /usr/lib/libc.so.1
(gdb) bt
#0 0xdd88f724 in strlen () from /usr/lib/libc.so.1
#1 0xdd8c87db in _doprnt () from /usr/lib/libc.so.1
#2 0xdd8cb825 in vsnprintf () from /usr/lib/libc.so.1
#3 0xdd5957b2 in g_printf_string_upper_bound (format=0xdd64dd95 " %s\n",
args=0x8045f98 "") at gmessages.c:891
#4 0xdd59d7f9 in g_strdup_vprintf (format=0xdd64dd95 " %s\n",
args1=0x8045f98 "") at gstrfuncs.c:199
#5 0xdd5a0eaf in g_string_append_printf_internal (string=0x8252368,
fmt=0xdd64dd95 " %s\n", args=0x8045f98 "") at gstring.c:745
#6 0xdd5a0f19 in g_string_append_printf (string=0x8252368,
fmt=0xdd64dd95 " %s\n") at gstring.c:772
#7 0xdd648ed3 in object_doc_descr_get (self=0x818a3b8, obj=0x0,
type=0xdd4638a0) at pygtype.c:1010
#8 0x0808dad5 in type_getattro (type=0xdd4638a0, name=0x81e69e0)
at ../Objects/typeobject.c:2045
#9 0x0807ee4f in PyObject_GetAttr (v=0xdd4638a0, name=0x81e69e0)
at ../Objects/object.c:1063
#10 0x080aad72 in eval_frame (f=0x82019c4) at ../Python/ceval.c:1930
#11 0x080abce8 in PyEval_EvalCodeEx (co=0x81e35e0, globals=0x816679c,
locals=0x816679c, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0,
defcount=0, closure=0x0) at ../Python/ceval.c:2678
#12 0x080ae526 in PyEval_EvalCode (co=0x81e35e0, globals=0x816679c,
locals=0x816679c) at ../Python/ceval.c:562
#13 0x080d958d in run_node (n=0x814f608, filename=0x8100d8c "<stdin>",
globals=0x816679c, locals=0x816679c, flags=0x8046288)
at ../Python/pythonrun.c:1255
#14 0x080d8b1a in PyRun_InteractiveOneFlags (fp=0x814dbc0,
filename=0x8100d8c "<stdin>", flags=0x8046288)
at ../Python/pythonrun.c:752
#15 0x080d8917 in PyRun_InteractiveLoopFlags (fp=0x814dbc0,
filename=0x8100d8c "<stdin>", flags=0x8046288)
at ../Python/pythonrun.c:685
#16 0x080d9de5 in PyRun_AnyFileExFlags (fp=0x814dbc0,
filename=0x8100d8c "<stdin>", closeit=0, flags=0x8046288)
at ../Python/pythonrun.c:648
#17 0x0805cba8 in Py_Main (argc=0, argv=0x80462e8) at ../Modules/main.c:413
#18 0x0805c747 in main (argc=1, argv=0x80462e8) at ../Modules/python.c:23
Just a wild-ass guess, but I sort of suspect whatever represents CList's
__gdoc__ attribute is NULL. Adding a couple lines to pychecker to avoid
trying to eval an object's __gdoc__ attribute seems to avoid the problem.
Has anyone else encountered (and hopefully fixed) this problem?
Thanks,
Skip Montanaro
[EMAIL PROTECTED]
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/