afrantzis / bless

Bless - Gtk# Hex Editor
GNU General Public License v2.0
210 stars 38 forks source link

Crash on ctrl+a ctrl+c right after opening the file #44

Open ValdikSS opened 3 years ago

ValdikSS commented 3 years ago

Bless crashes with X error if you try to open the file and right away, without clicking on any hex value, press ctrl+a to select all and press ctrl+c to copy.

How to reproduce:

  1. Open bless
  2. Drag-n-drop any sufficiently large file (100 KB is enough)
  3. Press ctrl+a, ctrl+c
  4. Bless crashes with X error

The bug does not happen if you first click anywhere in the hex viewer (to set cursor somewhere).

(bless:1107528): Gdk-ERROR **: 09:47:37.629: The program 'bless' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 3815 error_code 3 request_code 18 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
/usr/bin/bless: line 3: 1107528 Trace/breakpoint trap   (core dumped) mono "/usr/lib64/bless/bless.exe" "$@"
(gdb) bt
#0  0x00007fffe32953e7 in g_log_structured_array () at /lib64/libglib-2.0.so.0
#1  0x00007fffe32956a9 in g_log_default_handler () at /lib64/libglib-2.0.so.0
#2  0x00007fffe32968e6 in g_logv () at /lib64/libglib-2.0.so.0
#3  0x00007fffe3296b83 in g_log () at /lib64/libglib-2.0.so.0
#4  0x00007fffe80b55b9 in gdk_x_error.lto_priv () at /lib64/libgdk-x11-2.0.so.0
#5  0x00007fffe37a214b in _XError () at /lib64/libX11.so.6
#6  0x00007fffe37a2227 in handle_error () at /lib64/libX11.so.6
#7  0x00007fffe37a22c5 in handle_response () at /lib64/libX11.so.6
#8  0x00007fffe37a2372 in _XEventsQueued () at /lib64/libX11.so.6
#9  0x00007fffe378e711 in XPending () at /lib64/libX11.so.6
#10 0x00007fffe80ac54f in gdk_event_prepare.lto_priv () at /lib64/libgdk-x11-2.0.so.0
#11 0x00007fffe328e71a in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#12 0x00007fffe32e0963 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#13 0x00007fffe328e163 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#14 0x00007fffe39f50c2 in gtk_main () at /lib64/libgtk-x11-2.0.so.0
#15 0x0000000040178a40 in  ()
#16 0x0000000000000000 in  ()