To reproduce: - build Terminal with --enable-debug (tested with git e79525e) - run Terminal and either: 1. press Ctrl+KP+ or Ctrl+KP- (btw, on some keyboards KP- is just under PageDown, which makes it very easy to trigger this issue accidentally), or 2. make the Terminal display any valid URL, right-click the URL. The result: All Terminal windows and all applications started from any of them close. On the console the Terminal was started from there is a following message (different depending what has triggered SIGTRAP): 1. Gdk-CRITICAL **: IA__gdk_window_get_window_type: assertion `GDK_IS_WINDOW (window)' failed Trace/breakpoint trap 2. GLib-GObject-WARNING **: g_object_notify: object class `TerminalWidget' has no property named `font-scale' Trace/breakpoint trap IMHO, exiting the program on warning is a bit too strict, even in debug mode.
Backtrace for the case 1 (clicking on an URL): Gdk-CRITICAL **: IA__gdk_window_get_window_type: assertion `GDK_IS_WINDOW (window)' failed Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0xb78479b3 "Gdk", log_level=<optimized out>, format=0xb75992b2 "%s: assertion `%s' failed", args1=0xbfffeabc "\274\030\206\267~~\204\267\020<\377\267\003") at /build/buildd/glib2.0-2.30.0/./glib/gmessages.c:577 577 /build/buildd/glib2.0-2.30.0/./glib/gmessages.c: No such file or directory. in /build/buildd/glib2.0-2.30.0/./glib/gmessages.c (gdb) c (works normally) (Terminal restarted with breakpoint on gdk_window_get_window_type) Breakpoint 1, IA__gdk_window_get_window_type (window=0x0) at /build/buildd/gtk+2.0-2.24.6/gdk/gdkwindow.c:2236 2236 in /build/buildd/gtk+2.0-2.24.6/gdk/gdkwindow.c (gdb) bt #0 IA__gdk_window_get_window_type (window=0x0) at /build/buildd/gtk+2.0-2.24.6/gdk/gdkwindow.c:2236 #1 0xb79c8341 in IA__gtk_grab_add (widget=0x816b688) at /build/buildd/gtk+2.0-2.24.6/gtk/gtkmain.c:1942 #2 0x0805fba0 in terminal_widget_context_menu (widget=<optimized out>, button=3, event_time=19265430, x=177, y=28) at terminal-widget.c:371 #3 0x08060d95 in terminal_widget_button_press_event (widget=0x817e338, event=0x80a42f0) at terminal-widget.c:442
I also have this problem when clicking on the edge of the window. It causes all instances of terminal to crash. (Terminal:16286): Gdk-CRITICAL **: IA__gdk_window_get_events: assertion `GDK_IS_WINDOW (window)' failed Program received signal SIGTRAP, Trace/breakpoint trap. 0x00007ffff55bc5a1 in g_logv () from /usr/lib/libglib-2.0.so.0 (gdb) backtrace #0 0x00007ffff55bc5a1 in g_logv () from /usr/lib/libglib-2.0.so.0 #1 0x00007ffff55bc732 in g_log () from /usr/lib/libglib-2.0.so.0 #2 0x00007ffff6282b74 in gdk_window_get_events () from /usr/lib/libgdk-x11-2.0.so.0 #3 0x00007ffff628a9e1 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #4 0x00007ffff629d791 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #5 0x00007ffff629d81e in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #6 0x00007ffff55b537c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #7 0x00007ffff55b5798 in ?? () from /usr/lib/libglib-2.0.so.0 #8 0x00007ffff55b5b92 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #9 0x00007ffff6836637 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #10 0x000000000040c9ae in main (argc=1, argv=0x7fffffffe2b8) at main.c:268
I've later found that this is a very common type of error in Xfce (same thing occurs in Thunar when you right-click on the list of files). Many Xfce programs don't try to be warning free, the "solution" is to build them with --disable-debug or --enable-debug=minimum, so that warnings are not promoted to errors. A better solution would be to fix all these warnings but they tend to pop up in unexpected places - for production environment it's better not to use full debugging support.
All programs try to be warning free, but there is no 100% guarantee they are so therefore distros should never have debugging enabled. Will use G_ENABLE_DEBUG instead to enforce this.