Hi James,

>
> You didn't compile your cavfs module with debug info (or alternatively,
> you passed -export-symbols-regex to an unpatched libtool when linking
> your module).  When this happens, gdb makes its best guess about what
> function the stack frame refers to based on what it finds in the dynamic
> symbol table.  This often causes static functions to be mistaken for
> visible symbols defined near by.
>
> Without the debug info, it is a lot more difficult to diagnose the
problem.
>

I didn't, that's true, but my backtrace in gdb is complete so I assume pygtk
already contains a debug info.
After sitting many hours on the problem I found it is caused by a DEFINITION
of a global variable!
Strange, huh?

Precisely:

module cavfsmodule.c defines:
static PyMethodDef cavfs_methods[] = {
...
};

module gwrapper.c defines:
PyTypeObject *PyGObject_Type = NULL;


Now, the segfault occurs, gdb says that cavfs_methods is called although it
is referenced just in the initialization method.
If I change gwrapper.c to: "static PyTypeObject *PyGObject_Type = NULL;" the
segfault new happens.

Finally, this seems to be a compilation problem, isn't it?
Actually, I'm happy I found a way to avoid the problem. If someone has
similar experience, please, let me know.

   Thanks, Tobbi


_______________________________________________
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