GNOME Bugzilla – Bug 119913
crash using VTE through libglade
Last modified: 2005-06-11 21:02:29 UTC
I'm using GLADE 2.0.0, libglade 2.0.1, GTK+ 2.2.1, ATK 1.2.2, PyGTK 1.99.17, and VTE 0.11.10 from CVS. I have a GLADE project that includes a VTE widget as a custom widget. This works fine with 0.10.25, 0.10.29, and 0.11.10. I built VTE from CVS to test some recent additions, but it crashes during initialization with a segmentation fault. Does the latest VTE require a newer version of GTK+ or ATK? I'm attaching a GDB backtrace for debug versions of VTE and ATK. Here's the suspicious part: (gdb) up
+ Trace 39584
$1 = (void (*)(AtkObject *, gpointer)) 0
Created attachment 19227 [details] GDB backtrace
I neglected to mention that a critical assertion appears on stderr shortly before the segmentation fault: ** (customgnome:1173): CRITICAL **: file vte.c: line 9225 (vte_terminal_get_text): assertion `VTE_IS_TERMINAL(terminal)' failed Upgrading to ATK 1.2.4 had no effect.
Are you building with --enable-debugging? If not, does reverting vteaccess.c to 1.42 affect anything?
I got the segfault after rebuilding from CVS today. It works fine after reverting vteaccess.c to 1.42. Building with --enable-debugging yields an additional message with both versions: WARNING **: Accessibility (AtkNoOpObject) is not derived from GtkAccessible (GTK_MODULES=gail not set?), deriving from GtkAccessible instead. I'm using GAIL 1.2.0, as shipped with SuSE Linux 8.2. I may try upgrading to 1.2.2.
Created attachment 34125 [details] [review] Proposed patch
Created attachment 47553 [details] Python testcase Brief python program to test the Padraig's patch
Created attachment 47554 [details] Glade file needed for the python test Needed glade file
Padraig's patch fixes the crash for me. Jon, could you confirm ti fixes it for you too?
This patch also fixes the segfault in ./reflect-vte, which is much simpler to reproduce
Since this patch is from the a11y exptertise and has been tested etc I'll just stick it in CVS.