[Geany-devel] Issue with geanyLaTeX after GtkBuilder: Help needed to debug

Frank Lanitz frank at xxxxx
Sat Dec 31 11:16:56 UTC 2011


On Sat, 31 Dec 2011 03:04:13 -0800
Matthew Brush <mbrush at codebrainz.ca> wrote:

> On 12/31/2011 02:57 AM, Frank Lanitz wrote:
> > Hi folks,
> >
> > Since about GtkBuilder come in into Geany core we are experiencing
> > some issue with GeanyLaTeX in terms of in some cases the toolbar is
> > not able tobe loaded and Geany is ending up inside a segfault. Most
> > likely its repreducable by activating the toolbar and restarting
> > Geany having a tex-file loaded. The issue seems to be located in
> > near of line
> > https://github.com/geany/geany-plugins/blob/master/geanylatex/src/geanylatex.c#L168
> > unfortunately I don't have any bloody idea, what might is going
> > wrong. Anyone else could jump in here?
> >
> 
> Can you post a full traceback from gdb with debugging symbols?
> 
> IIRC the toolbar was already using GtkBuilder and is not in the same 
> .glade file as the rest of the UI (and theoretically shouldn't be 
> affected by it).

Dammit. With current geany build I cannot reproduce the crash, only a
huge number of warnings

Geany-INFO: Loaded:   /home/frlan/local/lib/geany/geanylatex.so
(GeanyLaTeX)

(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed
(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed
(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed
(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed
(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed
(geany:10190): Gtk-CRITICAL **: IA__gtk_action_get_sensitive: assertion
`GTK_IS_ACTION (action)' failed

After I activated the toolbar inside plugin configuration dialog I got: 

Gtk-WARNING **: New: missing action New

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff540b888 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff540b888 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff540bc02 in g_log () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff79ebda2 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#3  0x00007ffff79eba05 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4  0x00007ffff79eba05 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#5  0x00007ffff79ef431 in gtk_ui_manager_ensure_update () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6  0x00007ffff79ef4a9 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#7  0x00007ffff0ab0ab9 in init_toolbar () at geanylatex.c:172
#8  0x00007ffff0ab3a47 in on_configure_response (dialog=<optimized out>, response=<optimized out>, user_data=<optimized out>) at geanylatex.c:253
#9  on_configure_response (dialog=<optimized out>, response=<optimized out>, user_data=<optimized out>) at geanylatex.c:183
#10 0x00007ffff5cd3804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff5ce578a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff5ceee11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff5cd3804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff5ce578a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff5ceee11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff7833dc5 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#19 0x00007ffff5cd375a in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff5ce4f7a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff5ceee11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff7832bed in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x00007ffff78dc418 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff5cd375a in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff5ce55bf in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff5ceebe3 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff79f5301 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#30 0x00007ffff78da5d3 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#31 0x00007ffff78da933 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00007ffff754621c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#33 0x00007ffff54030cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff54038c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff5403e02 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff786154b in gtk_dialog_run () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#37 0x00000000004f7ccf in configure_plugins (current_plugin=0xa41e50) at ../src/pluginutils.c:365
#38 0x00000000004f7d35 in plugin_show_configure (plugin=0xa41e80) at ../src/pluginutils.c:391
#39 0x000000000049cedc in pm_on_plugin_button_clicked (button=0xbfacc0, user_data=0x5) at ../src/plugins.c:1346
#40 0x00007ffff5cd3804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#41 0x00007ffff5ce578a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007ffff5ceee11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#43 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007ffff7833dc5 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#45 0x00007ffff5cd3804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#46 0x00007ffff5ce4f7a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#47 0x00007ffff5ceee11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#48 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#49 0x00007ffff7832bed in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#50 0x00007ffff78dc418 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#51 0x00007ffff5cd3804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#52 0x00007ffff5ce55bf in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff5ceebe3 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#54 0x00007ffff5ceefb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#55 0x00007ffff79f5301 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#56 0x00007ffff78da5d3 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#57 0x00007ffff78da933 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#58 0x00007ffff754621c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#59 0x00007ffff54030cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007ffff54038c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007ffff5403e02 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007ffff78d9987 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#63 0x00000000004e7d0f in main (argc=1, argv=0x7fffffffe878) at ../src/main.c:1157


However, the original bt looked like this before
(gdb) bt
#0  0xb75f118a in g_str_hash ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb75bd7e8 in g_hash_table_lookup ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb7bb8477 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#3  0xb7bb8c0c in gtk_action_group_get_action ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#4  0xb7bb8c5a in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#5  0xb7bb99e9 in gtk_action_group_add_actions_full ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#6  0xb7bb9b8f in gtk_action_group_add_actions ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#7  0xaced6e9e in init_toolbar () at ../geanylatex/src/geanylatex.c:168
#8  0xacede1ab in plugin_init (data=0x8280920)
    at ../geanylatex/src/geanylatex.c:2343
#9  0x080d1596 in plugin_init (plugin=0x85ece88) at ../src/plugins.c:597
#10 0x080d1b34 in plugin_new (
    fname=0x8603ee0 "/usr/local/lib/geany/geanylatex.so",
init_plugin=1, 
    add_to_list=1) at ../src/plugins.c:752
#11 0x080d2938 in pm_plugin_toggled (cell=0x841b970, pth=0x85244f8
"10", 
    data=0x0) at ../src/plugins.c:1244
#12 0xb76a81e3 in g_cclosure_marshal_VOID__STRING ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xb76a63dc in g_closure_invoke ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xb76b9180 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#15 0xb76c1f17 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#16 0xb76c2083 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0xb7be561d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#18 0xb7bdbc02 in gtk_cell_renderer_activate ()
   from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#19 0xb7db9f39 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#20 0xb7dba290 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#21 0xb7dad24d in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#22 0xb7c908a2 in ?? () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#23 0xb76a4e2d in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#24 0xb76a63dc in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#25 0xb76b8fc8 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#26 0xb76c1d29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0

Cheers, 
Frank
-- 
http://frank.uvena.de/en/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.geany.org/pipermail/devel/attachments/20111231/03a6176e/attachment.pgp>


More information about the Devel mailing list