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/

Reply via email to