On Mon, Jun 15, 2009 at 09:32:03PM +0200, Yves-Alexis Perez wrote: > On lun, 2009-06-15 at 18:32 +0200, Johannes Stezenbach wrote: > > xfce4-terminal crashes reproducibly when trying to change preferences. > > Steps to reproduce: > > > > - start xfce4-terminal > > - open a second tab > > - close the second tab > > - open preferences, go to "Advanced" -> "Double click" and > > change the word chars > > > > xfce4-terminal prints the following error and then usually crashes: > > > > (xfce4-terminal:24509): Vte-CRITICAL **: vte_terminal_set_word_chars: > > assertion `VTE_IS_TERMINAL(terminal)' failed > > yeah, I noticed that too, but I didn't yet managed to reproduce > consistently with a debug build to get a useful backtrace. If you manage > to do that, please attach it to the bug report.
The debug build was the hard part for me, reproducing was easy. Attached is a backtrace. I'm not sure how useful it is, since I assume xfce4-terminal fails to unregister callbacks when closing a tab. I set a breakpoint on terminal_screen_finalize() and it is not called when closing a tab. Any ideas? Johannes
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7188750 (LWP 1509)] 0xb7d05de9 in vte_terminal_set_scroll_on_output (terminal=0x9e9a600, scroll=1) at /home/js/tmp/xf/vte-0.20.5/./src/vte.c:12522 12522 g_return_if_fail(VTE_IS_TERMINAL(terminal)); (gdb) bt #0 0xb7d05de9 in vte_terminal_set_scroll_on_output (terminal=0x9e9a600, scroll=1) at /home/js/tmp/xf/vte-0.20.5/./src/vte.c:12522 #1 0x0805ef9e in terminal_screen_update_scrolling_on_output (screen=0x9db51e0) at terminal-screen.c:785 #2 0xb785398c in IA__g_cclosure_marshal_VOID__PARAM (closure=0x9eadf60, return_value=0x0, n_param_values=2, param_values=0x9ef56c8, invocation_hint=0xbfb4c17c, marshal_data=0x805ef60) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gmarshal.c:531 #3 0xb7846b6b in IA__g_closure_invoke (closure=0x9eadf60, return_value=0x0, n_param_values=2, param_values=0x9ef56c8, invocation_hint=0xbfb4c17c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:767 #4 0xb785ad0f in signal_emit_unlocked_R (node=0x9cee920, detail=174, instance=0x9ceeca0, emission_return=0x0, instance_and_params=0x9ef56c8) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3247 #5 0xb785c179 in IA__g_signal_emit_valist (instance=0x9ceeca0, signal_id=1, detail=174, var_args=0xbfb4c320 "�\025�\t") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:2980 #6 0xb785c5d6 in IA__g_signal_emit (instance=0x9ceeca0, signal_id=1, detail=174) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3037 #7 0xb784b121 in g_object_dispatch_properties_changed (object=0x9ceeca0, n_pspecs=1, pspecs=0xbfb4c3a8) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobject.c:770 #8 0xb78478cf in g_object_notify_dispatcher (object=0x9ceeca0, n_pspecs=1, pspecs=0xbfb4c3a8) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobject.c:312 #9 0xb784df80 in IA__g_object_set_property (object=0x9ceeca0, property_name=0x8068642 "scrolling-on-output", value=0xbfb4c434) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobjectnotifyqueue.c:125 #10 0xb7ede111 in exo_bind_properties_transfer (src_object=0x9eaccd8, src_pspec=<value optimized out>, dst_object=0x9ceeca0, dst_pspec=0x9ce9920, transform=0xb78699e0 <IA__g_value_transform>, user_data=0x0) at exo-binding.c:63 #11 0xb7ede4a2 in exo_bind_properties_notify (src_object=0x9eaccd8, src_pspec=0x9d615b0, data=0x9ea68fc) at exo-binding.c:82 #12 0xb785398c in IA__g_cclosure_marshal_VOID__PARAM (closure=0x9e7bf18, return_value=0x0, n_param_values=2, param_values=0x9dc3ef0, invocation_hint=0xbfb4c61c, marshal_data=0xb7ede460) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gmarshal.c:531 #13 0xb7846b6b in IA__g_closure_invoke (closure=0x9e7bf18, return_value=0x0, n_param_values=2, param_values=0x9dc3ef0, invocation_hint=0xbfb4c61c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:767 #14 0xb785ad0f in signal_emit_unlocked_R (node=0x9cee920, detail=636, instance=0x9eaccd8, emission_return=0x0, instance_and_params=0x9dc3ef0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3247 #15 0xb785c179 in IA__g_signal_emit_valist (instance=0x9eaccd8, signal_id=1, detail=636, var_args=0xbfb4c7c0 "P\220�\t") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:2980 #16 0xb785c5d6 in IA__g_signal_emit (instance=0x9eaccd8, signal_id=1, detail=636) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3037 #17 0xb784b121 in g_object_dispatch_properties_changed (object=0x9eaccd8, n_pspecs=1, pspecs=0xbfb4c82c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobject.c:770 #18 0xb78478cf in g_object_notify_dispatcher (object=0x9eaccd8, n_pspecs=1, pspecs=0xbfb4c82c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobject.c:312 #19 0xb784da4d in IA__g_object_notify (object=0x9eaccd8, property_name=0xb7c17d18 "active") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gobjectnotifyqueue.c:125 #20 0xb7b390ec in gtk_toggle_button_clicked (button=0x9eaccd8) ---Type <return> to continue, or q <return> to quit--- at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtktogglebutton.c:502 #21 0xb7854274 in IA__g_cclosure_marshal_VOID__VOID (closure=0x9de3f48, return_value=0x0, n_param_values=1, param_values=0x9ebe390, invocation_hint=0xbfb4ca4c, marshal_data=0xb7b390a0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gmarshal.c:77 #22 0xb78452c9 in g_type_class_meta_marshal (closure=0x9de3f48, return_value=0x0, n_param_values=1, param_values=0x9ebe390, invocation_hint=0xbfb4ca4c, marshal_data=0x1a8) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:878 #23 0xb7846b6b in IA__g_closure_invoke (closure=0x9de3f48, return_value=0x0, n_param_values=1, param_values=0x9ebe390, invocation_hint=0xbfb4ca4c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:767 #24 0xb785a578 in signal_emit_unlocked_R (node=0x9de3f88, detail=0, instance=0x9eaccd8, emission_return=0x0, instance_and_params=0x9ebe390) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3177 #25 0xb785c179 in IA__g_signal_emit_valist (instance=0x9eaccd8, signal_id=179, detail=0, var_args=0xbfb4cbec "\034\221\206�\200\206\207����\t\b��\215�����\t\220\215��(�tB\205����\t�:�\t\rc\205�\200\206\207�H��\t(;�\tX��R\204�(;�\t") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:2980 #26 0xb785c5d6 in IA__g_signal_emit (instance=0x9eaccd8, signal_id=179, detail=0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3037 #27 0xb79b48da in IA__gtk_button_clicked (button=0x9eaccd8) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkbutton.c:1106 #28 0xb7b38dd8 in gtk_toggle_button_released (button=0x9eaccd8) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtktogglebutton.c:485 #29 0xb7854274 in IA__g_cclosure_marshal_VOID__VOID (closure=0x9de3b28, return_value=0x0, n_param_values=1, param_values=0x9ebe548, invocation_hint=0xbfb4cdbc, marshal_data=0xb7b38d90) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gmarshal.c:77 #30 0xb78452c9 in g_type_class_meta_marshal (closure=0x9de3b28, return_value=0x0, n_param_values=1, param_values=0x9ebe548, invocation_hint=0xbfb4cdbc, marshal_data=0x1a4) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:878 #31 0xb7846b6b in IA__g_closure_invoke (closure=0x9de3b28, return_value=0x0, n_param_values=1, param_values=0x9ebe548, invocation_hint=0xbfb4cdbc) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:767 #32 0xb785a578 in signal_emit_unlocked_R (node=0x9de3f18, detail=0, instance=0x9eaccd8, emission_return=0x0, instance_and_params=0x9ebe548) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3177 #33 0xb785c179 in IA__g_signal_emit_valist (instance=0x9eaccd8, signal_id=178, detail=0, var_args=0xbfb4cf5c "\034\221\206�pyη\220I\233�xϴ��I\233����\t\220I\233�\230ϴ�6������\t\2206�\t���\t\200\206\207�h;�\t�\026�\t�ϴ��r\204��\026��...@Ѵ�\002") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:2980 #34 0xb785c5d6 in IA__g_signal_emit (instance=0x9eaccd8, signal_id=178, detail=0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3037 #35 0xb79b497a in IA__gtk_button_released (button=0x9eaccd8) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkbutton.c:1098 #36 0xb79b49b3 in gtk_button_button_release (widget=0x9eaccd8, event=0x9e43690) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkbutton.c:1594 #37 0xb7a6f136 in _gtk_marshal_BOOLEAN__BOXED (closure=0x9d116b0, return_value=0xbfb4d140, n_param_values=2, param_values=0x9ee3b68, invocation_hint=0xbfb4d12c, marshal_data=0xb79b4990) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkmarshalers.c:84 #38 0xb78452c9 in g_type_class_meta_marshal (closure=0x9d116b0, return_value=0xbfb4d140, n_param_values=2, param_values=0x9ee3b68, invocation_hint=0xbfb4d12c, marshal_data=0xb4) ---Type <return> to continue, or q <return> to quit--- at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:878 #39 0xb7846b6b in IA__g_closure_invoke (closure=0x9d116b0, return_value=0xbfb4d140, n_param_values=2, param_values=0x9ee3b68, invocation_hint=0xbfb4d12c) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gclosure.c:767 #40 0xb785a9b7 in signal_emit_unlocked_R (node=0x9d10db0, detail=0, instance=0x9eaccd8, emission_return=0xbfb4d278, instance_and_params=0x9ee3b68) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3285 #41 0xb785c00f in IA__g_signal_emit_valist (instance=0x9eaccd8, signal_id=31, detail=0, var_args=0xbfb4d2d0 "�Ҵ�\2206�\t���\t\026\001�����\t���\t") at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:2990 #42 0xb785c5d6 in IA__g_signal_emit (instance=0x9eaccd8, signal_id=31, detail=0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/gobject/gsignal.c:3037 #43 0xb7b89e0e in gtk_widget_event_internal (widget=0x9eaccd8, event=0x9e43690) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkwidget.c:4761 #44 0xb7a67b8c in IA__gtk_propagate_event (widget=0x9eaccd8, event=0x9e43690) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkmain.c:2396 #45 0xb7a68f37 in IA__gtk_main_do_event (event=0x9e43690) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkmain.c:1601 #46 0xb78f6e8a in gdk_event_dispatch (source=0x9d022b0, callback=0, user_data=0x0) at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gdk/x11/gdkevents-x11.c:2367 #47 0xb77be848 in IA__g_main_context_dispatch (context=0x9d022f8) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/glib/gmain.c:1814 #48 0xb77c1d73 in g_main_context_iterate (context=0x9d022f8, block=1, dispatch=1, self=0x9d21888) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/glib/gmain.c:2445 #49 0xb77c224a in IA__g_main_loop_run (loop=0x9d0cff0) at /build/buildd-glib2.0_2.20.3-1-i386-o59wJY/glib2.0-2.20.3/glib/gmain.c:2653 #50 0xb7a693e9 in IA__gtk_main () at /build/buildd-gtk+2.0_2.16.2-1-i386-bURDgj/gtk+2.0-2.16.2/gtk/gtkmain.c:1205 #51 0x08052b46 in main (argc=0, argv=Cannot access memory at address 0x28 ) at main.c:277