Backtrace follows: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208781120 (LWP 19763)] terminal_window_is_screen_active (screen=0x9496840) at terminal-window.c:1778 1778 notebook = GTK_NOTEBOOK (window->notebook); (gdb) bt #0 terminal_window_is_screen_active (screen=0x9496840) at terminal-window.c:1778 #1 0x0805e7d0 in terminal_screen_vte_window_contents_changed (terminal=0x9498150, screen=0x9496840) at terminal-screen.c:874 #2 0x07081259 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0 #3 0x07073f0b in g_closure_invoke () from /lib/libgobject-2.0.so.0 #4 0x07084e83 in g_signal_override_class_closure () from /lib/libgobject-2.0.so.0 #5 0x0708637f in g_signal_emit_valist () from /lib/libgobject-2.0.so.0 #6 0x07087dbe in g_signal_emit_by_name () from /lib/libgobject-2.0.so.0 #7 0x008f59d7 in vte_terminal_get_default_emulation () from /usr/lib/libvte.so.9 #8 0x00902c7c in vte_terminal_set_scrollback_lines () from /usr/lib/libvte.so.9 #9 0x0805e5ee in terminal_screen_update_scrolling_lines (screen=0x9496840) at terminal-screen.c:750 #10 0x0805efdc in terminal_screen_init (screen=0x9496840) at terminal-screen.c:312 #11 0x070937ba in g_type_create_instance () from /lib/libgobject-2.0.so.0 #12 0x0707b0b2 in g_object_set () from /lib/libgobject-2.0.so.0 #13 0x07078d0b in g_object_newv () from /lib/libgobject-2.0.so.0 #14 0x0707986e in g_object_new_valist () from /lib/libgobject-2.0.so.0 #15 0x07079a20 in g_object_new () from /lib/libgobject-2.0.so.0 #16 0x0805dafb in terminal_screen_new () at terminal-screen.c:985 #17 0x080520d5 in terminal_app_open_window (app=0x921e1a0, attr=0x924b438) at terminal-app.c:535 #18 0x08052540 in terminal_app_process (app=0x921e1a0, argv=0x921a3b0, argc=5, error=0xbfa3c750) at terminal-app.c:483 #19 0x080518de in main (argc=1, argv=0xbfa3c804) at main.c:264
The crash occurs only on gtk+-2.12 and happens in a portion of code from this commit: http://svn.xfce.org/index.cgi/xfce/revision/?rev=27026 Terminal in xfce 4.4 is not affected.
Created attachment 2011 Patch to fix the issue terminal_window_is_screen_active () is called too early, apparently caused by a race between the signal handler and the updates to the terminal. The attached patch fixes the issue.
Committed in revision 28984.