#513 Crash when closing bible tabs

Current-stable-SVN
closed
None
7
2014-12-05
2014-05-17
No
  • Open lots of Bible tabs
  • Close the tabs by clicking on the Xs
  • After closing a few tabs it should crash
Program received signal SIGSEGV, Segmentation fault.
0xb5bf3724 in gtk_widget_set_sensitive () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) bt
#0  0xb5bf3724 in gtk_widget_set_sensitive () from /usr/lib/libgtk-x11-2.0.so.0
#1  0x0808a7ed in set_current_tab (pt=0x9224070) at ../src/gnome2/tabbed_browser.c:210
#2  0x0808a922 in gui_notebook_main_switch_page (notebook=0x8691078, page=0x8608a18, page_num=0, tl=0x811b158 <passage_list>) at ../src/gnome2/tabbed_browser.c:922
#3  0xb5ac1e15 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#4  0xb7f37a9e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#5  0xb7f4a049 in ?? () from /usr/lib/libgobject-2.0.so.0
#6  0xb7f51983 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#7  0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#8  0xb5adb23d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#9  0xb5ae1f1e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#10 0xb7f3a7ff in g_cclosure_marshal_VOID__OBJECTv () from /usr/lib/libgobject-2.0.so.0
#11 0xb7f36477 in ?? () from /usr/lib/libgobject-2.0.so.0
#12 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
#13 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#14 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#15 0xb5a36a46 in gtk_container_remove () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x0808a5f3 in gui_close_passage_tab (pagenum=0) at ../src/gnome2/tabbed_browser.c:1512
#17 0xb7f39749 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0
#18 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0xb5a0804a in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
#22 0xb5a092b0 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#23 0xb7f39729 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0
#24 0xb7f36477 in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
#26 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0xb5a07f8a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb5a07fc4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb5abebce in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0xb7f365c4 in ?? () from /usr/lib/libgobject-2.0.so.0
#32 0xb7f37a9e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#33 0xb7f49ca0 in ?? () from /usr/lib/libgobject-2.0.so.0
#34 0xb7f516af in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#35 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#36 0xb5beb443 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0xb5abcfa4 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#38 0xb5abd3a0 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#39 0xb5938928 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#40 0xb7e65f53 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0xb7e661d8 in ?? () from /usr/lib/libglib-2.0.so.0
#42 0xb7e664db in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#43 0xb5abc180 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#44 0x0806f255 in gui_main () at ../src/gnome2/gui.c:79
#45 0x08063ee7 in main (argc=1, argv=0xbffff994) at ../src/main/main.c:287

Discussion

  • Alister Hood

    Alister Hood - 2014-05-17

    This might be more readable - I don't know what's going on with Sourceforge...

    Program received signal SIGSEGV, Segmentation fault.
    0xb5bf3724 in gtk_widget_set_sensitive () from /usr/lib/libgtk-x11-2.0.so.0
    (gdb) bt
    #0  0xb5bf3724 in gtk_widget_set_sensitive () from /usr/lib/libgtk-x11-2.0.so.0
    #1  0x0808a7ed in set_current_tab (pt=0x9224070) at ../src/gnome2/tabbed_browser.c:210
    #2  0x0808a922 in gui_notebook_main_switch_page (notebook=0x8691078, page=0x8608a18, page_num=0, tl=0x811b158 <passage_list>) at ../src/gnome2/tabbed_browser.c:922
    #3  0xb5ac1e15 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #4  0xb7f37a9e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #5  0xb7f4a049 in ?? () from /usr/lib/libgobject-2.0.so.0
    #6  0xb7f51983 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #7  0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #8  0xb5adb23d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #9  0xb5ae1f1e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #10 0xb7f3a7ff in g_cclosure_marshal_VOID__OBJECTv () from /usr/lib/libgobject-2.0.so.0
    #11 0xb7f36477 in ?? () from /usr/lib/libgobject-2.0.so.0
    #12 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
    #13 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #14 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #15 0xb5a36a46 in gtk_container_remove () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0x0808a5f3 in gui_close_passage_tab (pagenum=0) at ../src/gnome2/tabbed_browser.c:1512
    #17 0xb7f39749 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0
    #18 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
    #19 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #20 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #21 0xb5a0804a in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
    #22 0xb5a092b0 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #23 0xb7f39729 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0
    #24 0xb7f36477 in ?? () from /usr/lib/libgobject-2.0.so.0
    #25 0xb7f37cee in ?? () from /usr/lib/libgobject-2.0.so.0
    #26 0xb7f510a0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #27 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #28 0xb5a07f8a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
    #29 0xb5a07fc4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #30 0xb5abebce in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #31 0xb7f365c4 in ?? () from /usr/lib/libgobject-2.0.so.0
    #32 0xb7f37a9e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #33 0xb7f49ca0 in ?? () from /usr/lib/libgobject-2.0.so.0
    #34 0xb7f516af in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #35 0xb7f51c13 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #36 0xb5beb443 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #37 0xb5abcfa4 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #38 0xb5abd3a0 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #39 0xb5938928 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #40 0xb7e65f53 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #41 0xb7e661d8 in ?? () from /usr/lib/libglib-2.0.so.0
    #42 0xb7e664db in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #43 0xb5abc180 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #44 0x0806f255 in gui_main () at ../src/gnome2/gui.c:79
    #45 0x08063ee7 in main (argc=1, argv=0xbffff994) at ../src/main/main.c:287
    
     
  • Karl Kleinpaste

    Karl Kleinpaste - 2014-12-01
    • assigned_to: Karl Kleinpaste
     
  • Karl Kleinpaste

    Karl Kleinpaste - 2014-12-01

    i can't reproduce this and no one in the developers' mailing list has answered a query for reproducibility, either. if i can't get a better handle on this, i'm going to have to close it as, well, unreal.

     
  • Alister Hood

    Alister Hood - 2014-12-01

    Hmmm. So "worksforme" is now "unreal"... Is there anything I can do to prove that it is "real", or help get to the bottom of it?
    I can reproduce with at least 3.2.0, 3.2.1, 3.2.2 and current SVN. Note that the bug does not have anything to do with having lots of Bible tabs, you are just more likely to reproduce it the more tabs you close - I have sometimes crashed it by simply opening xiphos and then closing the first two of three open tabs.

    I've just installed the latest gtk2 with debugging enabled, in case it helps:

    ~~~~
    Program received signal SIGSEGV, Segmentation fault.
    0xb5b2be74 in IA__gtk_widget_set_sensitive (widget=0x8520ff8, sensitive=0)
    at gtkwidget.c:6320
    6320 g_return_if_fail (GTK_IS_WIDGET (widget));
    (gdb) bt

    0 0xb5b2be74 in IA__gtk_widget_set_sensitive (widget=0x8520ff8, sensitive=0)

    at gtkwidget.c:6320
    

    1 0x0808b76d in set_current_tab (pt=0x8567800)

    at ../src/gnome2/tabbed_browser.c:210
    

    2 0x0808b8a2 in gui_notebook_main_switch_page (notebook=0x864d060,

    page=0x85c4c08, page_num=0, tl=0x8127198 <passage_list>)
    at ../src/gnome2/tabbed_browser.c:927
    

    3 0xb5a0d13c in _gtk_marshal_VOID__POINTER_UINT (closure=0x90fef20,

    return_value=0x0, n_param_values=3, param_values=0xbfffeb20, 
    invocation_hint=0xbfffeadc, marshal_data=0x0) at gtkmarshalers.c:2660
    

    4 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    5 0xb7f3e1b8 in ?? () from /usr/lib/libgobject-2.0.so.0

    6 0xb7f46764 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    7 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    8 0xb5a24616 in gtk_notebook_switch_page (notebook=0x8663bd0,

    page=0x3e797472) at gtknotebook.c:6200
    

    9 0xb5a2ab0e in gtk_notebook_real_remove (list=<optimized out="">,

    notebook=<optimized out>) at gtknotebook.c:4671
    

    10 gtk_notebook_remove (container=0x864d060, widget=0x85c49d8)

    at gtknotebook.c:3957
    

    11 0xb7f2f56e in g_cclosure_marshal_VOID__OBJECTv ()

    from /usr/lib/libgobject-2.0.so.0

    12 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    13 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    14 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    15 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    16 0xb598bfb7 in IA__gtk_container_remove (container=0x864d060,

    widget=0x85c49d8) at gtkcontainer.c:1240
    

    17 0x0808b573 in gui_close_passage_tab (pagenum=0)

    at ../src/gnome2/tabbed_browser.c:1517
    

    18 0xb7f2e347 in g_cclosure_marshal_VOID__VOIDv ()

    from /usr/lib/libgobject-2.0.so.0

    19 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    20 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    21 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    22 0xb59617e1 in IA__gtk_button_clicked (button=0x9326838) at gtkbutton.c:1115

    23 0xb5962961 in gtk_real_button_released (button=0x9326838)

    at gtkbutton.c:1712
    

    24 0xb7f2e327 in g_cclosure_marshal_VOID__VOIDv ()

    from /usr/lib/libgobject-2.0.so.0

    25 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    26 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    27 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    28 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    29 0xb5961711 in gtk_button_released (button=0x9326838) at gtkbutton.c:1107

    30 0xb5961754 in gtk_button_button_release (widget=0x9326838, event=0x90fd688)

    at gtkbutton.c:1604
    

    31 0xb5a09eac in _gtk_marshal_BOOLEAN__BOXED (closure=0x86983b0,

    return_value=0xbffff480, n_param_values=2, param_values=0xbffff4e0, 
    invocation_hint=0xbffff49c, 
    marshal_data=0xb5961720 <gtk_button_button_release>) at gtkmarshalers.c:86
    

    32 0xb7f2b264 in ?? () from /usr/lib/libgobject-2.0.so.0

    33 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    34 0xb7f3e0b7 in ?? () from /usr/lib/libgobject-2.0.so.0

    35 0xb7f462cb in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    36 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    37 0xb5b23b24 in gtk_widget_event_internal (widget=widget@entry=0x9326838,

    event=event@entry=0x90fd688) at gtkwidget.c:5010
    

    38 0xb5b23dfc in IA__gtk_widget_event (widget=0x9326838, event=0x90fd688)

    at gtkwidget.c:4807
    

    39 0xb5a08269 in IA__gtk_propagate_event (widget=0x9326838, event=0x90fd688)

    at gtkmain.c:2490
    

    40 0xb5a0875d in IA__gtk_main_do_event (event=0x90fd688) at gtkmain.c:1685

    41 0xb5883039 in gdk_event_dispatch (source=0x867fdb8, callback=0x0,

    user_data=0x0) at gdkevents-x11.c:2403
    

    42 0xb7e3f914 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

    43 0xb7e3fc29 in ?? () from /usr/lib/libglib-2.0.so.0

    44 0xb7e3ffd9 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

    45 0xb5a0748d in IA__gtk_main () at gtkmain.c:1257

    46 0x0806ff35 in gui_main () at ../src/gnome2/gui.c:79

    47 0x08064887 in main (argc=1, argv=0xbffff974) at ../src/main/main.c:288

     
  • Alister Hood

    Alister Hood - 2014-12-01

    Note that it does also occur when xiphos is built against gtk3.

     
  • Alister Hood

    Alister Hood - 2014-12-01

    I'm a beginner at proper debugging, but I got to a message "value has been optimized out", so I rebuilt with -O0, and then I noticed that there actually appear to be two different crashes in this situation:

    ~~~~
    Program received signal SIGSEGV, Segmentation fault.
    0xb7f4fdac in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
    (gdb) bt

    0 0xb7f4fdac in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0

    1 0xb5b2be82 in IA__gtk_widget_set_sensitive (widget=0x8514ff8, sensitive=0) at gtkwidget.c:6320

    2 0x08092ccf in set_current_tab (pt=0x852fce0) at ../src/gnome2/tabbed_browser.c:210

    3 0x08094364 in gui_notebook_main_switch_page (notebook=0x863f860, page=0x85c06e0, page_num=0, tl=0x8119218 <passage_list>) at ../src/gnome2/tabbed_browser.c:927

    4 0xb5a0d13c in _gtk_marshal_VOID__POINTER_UINT (closure=0x85bd308, return_value=0x0, n_param_values=3, param_values=0xbfffead0, invocation_hint=0xbfffea8c, marshal_data=0x0) at gtkmarshalers.c:2660

    5 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    6 0xb7f3e1b8 in ?? () from /usr/lib/libgobject-2.0.so.0

    7 0xb7f46764 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    8 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    9 0xb5a24616 in gtk_notebook_switch_page (notebook=0x89617020, page=0x86887a8) at gtknotebook.c:6200

    10 0xb5a2ab0e in gtk_notebook_real_remove (list=<optimized out="">, notebook=<optimized out="">) at gtknotebook.c:4671

    11 gtk_notebook_remove (container=0x863f860, widget=0x85c05d8) at gtknotebook.c:3957

    12 0xb7f2f56e in g_cclosure_marshal_VOID__OBJECTv () from /usr/lib/libgobject-2.0.so.0

    13 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    14 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    15 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    16 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    17 0xb598bfb7 in IA__gtk_container_remove (container=0x863f860, widget=0x85c05d8) at gtkcontainer.c:1240

    18 0x080954ae in gui_close_passage_tab (pagenum=0) at ../src/gnome2/tabbed_browser.c:1517

    19 0x08093fba in on_notebook_main_close_page (button=0x84fe038, user_data=0x8515000) at ../src/gnome2/tabbed_browser.c:757

    20 0xb7f2e347 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0

    21 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    22 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    23 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    24 0xb59617e1 in IA__gtk_button_clicked (button=0x84fe038) at gtkbutton.c:1115

    25 0xb5962961 in gtk_real_button_released (button=0x84fe038) at gtkbutton.c:1712

    26 0xb7f2e327 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0

    27 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    28 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    29 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    30 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    31 0xb5961711 in gtk_button_released (button=0x84fe038) at gtkbutton.c:1107

    32 0xb5961754 in gtk_button_button_release (widget=0x84fe038, event=0x86379f0) at gtkbutton.c:1604

    33 0xb5a09eac in _gtk_marshal_BOOLEAN__BOXED (closure=0x868a2f0, return_value=0xbffff470, n_param_values=2, param_values=0xbffff4d0, invocation_hint=0xbffff48c,

    marshal_data=0xb5961720 <gtk_button_button_release>) at gtkmarshalers.c:86
    

    34 0xb7f2b264 in ?? () from /usr/lib/libgobject-2.0.so.0

    35 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    36 0xb7f3e0b7 in ?? () from /usr/lib/libgobject-2.0.so.0

    37 0xb7f462cb in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    38 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    39 0xb5b23b24 in gtk_widget_event_internal (widget=widget@entry=0x84fe038, event=event@entry=0x86379f0) at gtkwidget.c:5010

    40 0xb5b23dfc in IA__gtk_widget_event (widget=0x84fe038, event=0x86379f0) at gtkwidget.c:4807

    41 0xb5a08269 in IA__gtk_propagate_event (widget=0x84fe038, event=0x86379f0) at gtkmain.c:2490

    42 0xb5a0875d in IA__gtk_main_do_event (event=0x86379f0) at gtkmain.c:1685

    43 0xb5883039 in gdk_event_dispatch (source=0x8675f18, callback=0x0, user_data=0x0) at gdkevents-x11.c:2403

    44 0xb7e3f914 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

    45 0xb7e3fc29 in ?? () from /usr/lib/libglib-2.0.so.0

    46 0xb7e3ffd9 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

    47 0xb5a0748d in IA__gtk_main () at gtkmain.c:1257

    48 0x0807288e in gui_main () at ../src/gnome2/gui.c:79

    49 0x080c10e2 in main (argc=1, argv=0xbffff974) at ../src/main/main.c:288

    (gdb) frame 1

    1 0xb5b2be82 in IA__gtk_widget_set_sensitive (widget=0x8514ff8, sensitive=0) at gtkwidget.c:6320

    6320 g_return_if_fail (GTK_IS_WIDGET (widget));
    (gdb) print widget
    $1 = (GtkWidget *) 0x8514ff8
    (gdb) frame 2

    2 0x08092ccf in set_current_tab (pt=0x852fce0) at ../src/gnome2/tabbed_browser.c:210

    210 gtk_widget_set_sensitive(ot->button_close, FALSE);
    (gdb) print ot
    $2 = (PASSAGE_TAB_INFO ) 0x8515000
    (gdb) print ot->button_close
    $3 = (GtkWidget
    ) 0x8514ff8

     
  • Alister Hood

    Alister Hood - 2014-12-01

    And this (I have no idea if it that extra line about g_type_check_instance_is_a in the previous output means anything):

    ~~~~
    Program received signal SIGSEGV, Segmentation fault.
    0xb5b2be74 in IA__gtk_widget_set_sensitive (widget=0x85120b8, sensitive=0) at gtkwidget.c:6320
    6320 g_return_if_fail (GTK_IS_WIDGET (widget));
    (gdb) bt

    0 0xb5b2be74 in IA__gtk_widget_set_sensitive (widget=0x85120b8, sensitive=0) at gtkwidget.c:6320

    1 0x08092ccf in set_current_tab (pt=0x852d9d0) at ../src/gnome2/tabbed_browser.c:210

    2 0x08094364 in gui_notebook_main_switch_page (notebook=0x8635098, page=0x90faae0, page_num=0, tl=0x8119218 <passage_list>) at ../src/gnome2/tabbed_browser.c:927

    3 0xb5a0d13c in _gtk_marshal_VOID__POINTER_UINT (closure=0x8df9b10, return_value=0x0, n_param_values=3, param_values=0xbfffead0, invocation_hint=0xbfffea8c, marshal_data=0x0) at gtkmarshalers.c:2660

    4 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    5 0xb7f3e1b8 in ?? () from /usr/lib/libgobject-2.0.so.0

    6 0xb7f46764 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    7 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    8 0xb5a24616 in gtk_notebook_switch_page (notebook=0x8688980, page=0x18) at gtknotebook.c:6200

    9 0xb5a2ab0e in gtk_notebook_real_remove (list=<optimized out="">, notebook=<optimized out="">) at gtknotebook.c:4671

    10 gtk_notebook_remove (container=0x8635098, widget=0x90fa9d8) at gtknotebook.c:3957

    11 0xb7f2f56e in g_cclosure_marshal_VOID__OBJECTv () from /usr/lib/libgobject-2.0.so.0

    12 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    13 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    14 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    15 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    16 0xb598bfb7 in IA__gtk_container_remove (container=0x8635098, widget=0x90fa9d8) at gtkcontainer.c:1240

    17 0x080954ae in gui_close_passage_tab (pagenum=0) at ../src/gnome2/tabbed_browser.c:1517

    18 0x08093fba in on_notebook_main_close_page (button=0x84fe028, user_data=0x85120c0) at ../src/gnome2/tabbed_browser.c:757

    19 0xb7f2e347 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0

    20 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    21 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    22 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    23 0xb59617e1 in IA__gtk_button_clicked (button=0x84fe028) at gtkbutton.c:1115

    24 0xb5962961 in gtk_real_button_released (button=0x84fe028) at gtkbutton.c:1712

    25 0xb7f2e327 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/libgobject-2.0.so.0

    26 0xb7f2b1b2 in ?? () from /usr/lib/libgobject-2.0.so.0

    27 0xb7f2c92f in ?? () from /usr/lib/libgobject-2.0.so.0

    28 0xb7f46086 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    29 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    30 0xb5961711 in gtk_button_released (button=0x84fe028) at gtkbutton.c:1107

    31 0xb5961754 in gtk_button_button_release (widget=0x84fe028, event=0x862b148) at gtkbutton.c:1604

    32 0xb5a09eac in _gtk_marshal_BOOLEAN__BOXED (closure=0x868a430, return_value=0xbffff470, n_param_values=2, param_values=0xbffff4d0, invocation_hint=0xbffff48c,

    marshal_data=0xb5961720 <gtk_button_button_release>) at gtkmarshalers.c:86
    

    33 0xb7f2b264 in ?? () from /usr/lib/libgobject-2.0.so.0

    34 0xb7f2c70b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0

    35 0xb7f3e0b7 in ?? () from /usr/lib/libgobject-2.0.so.0

    36 0xb7f462cb in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0

    37 0xb7f468c5 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0

    38 0xb5b23b24 in gtk_widget_event_internal (widget=widget@entry=0x84fe028, event=event@entry=0x862b148) at gtkwidget.c:5010

    39 0xb5b23dfc in IA__gtk_widget_event (widget=0x84fe028, event=0x862b148) at gtkwidget.c:4807

    40 0xb5a08269 in IA__gtk_propagate_event (widget=0x84fe028, event=0x862b148) at gtkmain.c:2490

    41 0xb5a0875d in IA__gtk_main_do_event (event=0x862b148) at gtkmain.c:1685

    42 0xb5883039 in gdk_event_dispatch (source=0x867a0c8, callback=0x0, user_data=0x0) at gdkevents-x11.c:2403

    43 0xb7e3f914 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0

    44 0xb7e3fc29 in ?? () from /usr/lib/libglib-2.0.so.0

    45 0xb7e3ffd9 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0

    46 0xb5a0748d in IA__gtk_main () at gtkmain.c:1257

    47 0x0807288e in gui_main () at ../src/gnome2/gui.c:79

    48 0x080c10e2 in main (argc=1, argv=0xbffff974) at ../src/main/main.c:288

    (gdb) frame 1

    1 0x08092ccf in set_current_tab (pt=0x852d9d0) at ../src/gnome2/tabbed_browser.c:210

    210 gtk_widget_set_sensitive(ot->button_close, FALSE);
    (gdb) print ot
    $4 = (PASSAGE_TAB_INFO ) 0x85120c0
    (gdb) print ot->button_close
    $5 = (GtkWidget
    ) 0x85120b8

     
  • Karl Kleinpaste

    Karl Kleinpaste - 2014-12-05

    i've managed to make it crash. it seems quite rare to me, i.e. it takes a lot of tab deletion to induce the problem. it's clearly a timing bug in gtk-related goo, because if one deletes a tab and waits to be sure the entire interface has refreshed and settled completely, further deletions don't cause trouble. the timing hole nature means that the faster the machine on which it runs, the smaller the timing hole in which the bug can occur, and it took quite a while to find the problem happening on my fairly beastly machine.

    anyhow, progress, insofar as i can now see the bug happen. looking for where to impose exclusion.

     
  • Karl Kleinpaste

    Karl Kleinpaste - 2014-12-05

    found what i think is a reasonable fix. done in -r4664.

     
  • Karl Kleinpaste

    Karl Kleinpaste - 2014-12-05
    • status: open --> closed
     

Log in to post a comment.