After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 668169 - Crash in _gtk_tree_path_new_from_rbtree
Crash in _gtk_tree_path_new_from_rbtree
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
3.3.x
Other Linux
: Normal critical
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
Depends on:
Blocks:
 
 
Reported: 2012-01-18 11:27 UTC by Guillaume Desmottes
Modified: 2012-01-24 16:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Guillaume Desmottes 2012-01-18 11:27:38 UTC
Since I update my GTK+ to master I observed this crash with Empathy. It's pretty easy to reproduce, just doing a few live search in the roster trigger it.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff655ec3d in _gtk_tree_path_new_from_rbtree (tree=0x1f9da20, node=0x312cc00) at gtktreeview.c:9484
9484		  count = 1 + last->left->count;



  • #0 _gtk_tree_path_new_from_rbtree
    at gtktreeview.c line 9484
  • #1 gtk_tree_view_row_changed
    at gtktreeview.c line 8705
  • #2 _gtk_marshal_VOID__BOXED_BOXED
    at gtkmarshalers.c line 1349
  • #3 g_closure_invoke
    at gclosure.c line 774
  • #4 signal_emit_unlocked_R
    at gsignal.c line 3302
  • #5 g_signal_emit_valist
    at gsignal.c line 3033
  • #6 g_signal_emit
    at gsignal.c line 3090
  • #7 gtk_tree_model_row_changed
    at gtktreemodel.c line 1803
  • #8 gtk_tree_model_filter_row_changed
    at gtktreemodelfilter.c line 2088
  • #9 gtk_tree_model_filter_refilter_helper
    at gtktreemodelfilter.c line 4267
  • #10 gtk_tree_model_foreach_helper
    at gtktreemodel.c line 1913
  • #11 gtk_tree_model_foreach
    at gtktreemodel.c line 1960
  • #12 gtk_tree_model_filter_refilter
    at gtktreemodelfilter.c line 4287
  • #13 individual_view_search_text_notify_cb
    at empathy-individual-view.c line 1347
  • #14 g_cclosure_marshal_VOID__PARAM
    at gmarshal.c line 539
  • #15 g_closure_invoke
    at gclosure.c line 774
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3302
  • #17 g_signal_emit_valist
    at gsignal.c line 3033
  • #18 g_signal_emit
    at gsignal.c line 3090
  • #19 g_object_dispatch_properties_changed
    at gobject.c line 1031
  • #20 g_object_notify_by_spec_internal
    at gobject.c line 1123
  • #21 g_object_notify
    at gobject.c line 1165
  • #22 live_search_text_changed
    at empathy-live-search.c line 306
  • #23 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 85
  • #24 g_closure_invoke
    at gclosure.c line 774
  • #25 signal_emit_unlocked_R
    at gsignal.c line 3302
  • #26 g_signal_emit_valist
    at gsignal.c line 3033
  • #27 g_signal_emit_by_name
    at gsignal.c line 3127
  • #28 end_change
    at gtkentry.c line 2565
  • #29 gtk_entry_real_insert_text
    at gtkentry.c line 4665
  • #30 _gtk_marshal_VOID__STRING_INT_POINTER
    at gtkmarshalers.c line 3048
  • #31 g_type_iface_meta_marshal
    at gclosure.c line 908
  • #32 g_closure_invoke
    at gclosure.c line 774
  • #33 signal_emit_unlocked_R
    at gsignal.c line 3340
  • #34 g_signal_emit_valist
    at gsignal.c line 3033
  • #35 g_signal_emit_by_name
    at gsignal.c line 3127
  • #36 gtk_entry_insert_text
    at gtkentry.c line 4393
  • #37 gtk_editable_insert_text
    at gtkeditable.c line 216
  • #38 gtk_entry_enter_text
    at gtkentry.c line 5370
  • #39 gtk_entry_commit_cb
    at gtkentry.c line 5286
  • #40 g_cclosure_marshal_VOID__STRING
    at gmarshal.c line 504
  • #41 g_closure_invoke
    at gclosure.c line 774
  • #42 signal_emit_unlocked_R
    at gsignal.c line 3302
  • #43 g_signal_emit_valist
    at gsignal.c line 3033
  • #44 g_signal_emit_by_name
    at gsignal.c line 3127
  • #45 gtk_im_multicontext_commit_cb
    at gtkimmulticontext.c line 523
  • #46 g_cclosure_marshal_VOID__STRING
    at gmarshal.c line 504
  • #47 g_closure_invoke
    at gclosure.c line 774
  • #48 signal_emit_unlocked_R
    at gsignal.c line 3302
  • #49 g_signal_emit_valist
    at gsignal.c line 3033
  • #50 g_signal_emit_by_name
    at gsignal.c line 3127
  • #51 gtk_im_context_simple_commit_char
    at gtkimcontextsimple.c line 194
  • #52 no_sequence_matches
    at gtkimcontextsimple.c line 756
  • #53 gtk_im_context_simple_filter_keypress
    at gtkimcontextsimple.c line 1082
  • #54 gtk_im_context_filter_keypress
    at gtkimcontext.c line 472
  • #55 gtk_im_multicontext_filter_keypress
    at gtkimmulticontext.c line 354
  • #56 gtk_im_context_filter_keypress
    at gtkimcontext.c line 472
  • #57 gtk_entry_key_press
    at gtkentry.c line 4173
  • #58 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 85
  • #59 g_type_class_meta_marshal
    at gclosure.c line 885
  • #60 g_closure_invoke
    at gclosure.c line 774
  • #61 signal_emit_unlocked_R
    at gsignal.c line 3340
  • #62 g_signal_emit_valist
    at gsignal.c line 3043
  • #63 g_signal_emit
    at gsignal.c line 3090
  • #64 gtk_widget_event_internal
    at gtkwidget.c line 6149
  • #65 gtk_widget_event
    at gtkwidget.c line 5865
  • #66 gtk_window_propagate_key_event
    at gtkwindow.c line 5913
  • #67 gtk_window_key_press_event
    at gtkwindow.c line 5943
  • #68 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 85
  • #69 g_type_class_meta_marshal
    at gclosure.c line 885
  • #70 g_closure_invoke
    at gclosure.c line 774
  • #71 signal_emit_unlocked_R
    at gsignal.c line 3340
  • #72 g_signal_emit_valist
    at gsignal.c line 3043
  • #73 g_signal_emit
    at gsignal.c line 3090
  • #74 gtk_widget_event_internal
    at gtkwidget.c line 6149
  • #75 gtk_widget_event
    at gtkwidget.c line 5865
  • #76 gtk_propagate_event
    at gtkmain.c line 2391
  • #77 gtk_main_do_event
    at gtkmain.c line 1686
  • #78 _gdk_event_emit
    at gdkevents.c line 71
  • #79 gdk_event_source_dispatch
    at gdkeventsource.c line 360
  • #80 g_main_dispatch
    at gmain.c line 2513
  • #81 g_main_context_dispatch
    at gmain.c line 3050
  • #82 g_main_context_iterate
    at gmain.c line 3121
  • #83 g_main_context_iteration
    at gmain.c line 3182
  • #84 g_application_run
    at gapplication.c line 1599
  • #85 main
    at empathy.c line 869

Comment 1 Xavier Claessens 2012-01-18 12:44:40 UTC
Same crash here on ubuntu precise with GTK 3.3.6
Comment 2 Kristian Rietveld 2012-01-18 13:46:33 UTC
Likely caused by the RBTree hacking by Benjamin, leaving this for him to fix.
Comment 3 Bilal Shahid 2012-01-23 16:50:04 UTC
the bug is also present in empathy 3.3.3 with ubuntu 12.04
https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/914927