! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
(Terminal) SIGTRAP closes all terminal windows
Status:
RESOLVED: FIXED
Product:
Xfce4-terminal
Component:
General

Comments

Description Andrzej editbugs 2012-03-10 10:23:34 CET
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.
Comment 1 Andrzej editbugs 2012-03-10 10:26:26 CET
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
Comment 2 sankeytms 2012-04-30 23:43:54 CEST
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
Comment 3 Andrzej editbugs 2012-05-01 03:01:05 CEST
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.
Comment 4 Nick Schermer editbugs 2012-12-25 10:43:21 CET
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.

Bug #8552

Reported by:
Andrzej
Reported on: 2012-03-10
Last modified on: 2012-12-25

People

Assignee:
Nick Schermer
CC List:
1 user

Version

Version:
unspecified

Attachments

Additional information