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/