Segfault in gdk_window_has_impl
Trying least gnucash 2.7.5 on arch linux 4.15.5, I get the following stack trace when trying to edit the account of one transaction : gtk3 has version 3.22.28-1
Message: Process 4469 (gnucash) of user 1000 dumped core.
Stack trace of thread 4469:
#0 0x00007f0b7cfd7d42 gdk_window_has_impl (libgdk-3.so.0)
#1 0x00007f0b7d01020f gdk_x11_window_get_xid (libgdk-3.so.0)
#2 0x00007f0b4c839a73 gtk_im_context_xim_filter_keypress (im-xim.so)
#3 0x00007f0b7fa6b6e4 gtk_im_multicontext_filter_keypress (libgtk-3.so.0)
#4 0x00007f0b7d4b287e gnucash_sheet_key_press_event (libgncmod-register-gnome.so)
#5 0x00007f0b7fa8ce78 _gtk_marshal_BOOLEAN__BOXEDv (libgtk-3.so.0)
#6 0x00007f0b7f264db1 n/a (libgobject-2.0.so.0)
#7 0x00007f0b7f2814b4 g_signal_emit_valist (libgobject-2.0.so.0)
#8 0x00007f0b7f282240 g_signal_emit (libgobject-2.0.so.0)
#9 0x00007f0b7fbe02c5 gtk_widget_event_internal (libgtk-3.so.0)
#10 0x00007f0b7fc01ae4 gtk_window_propagate_key_event (libgtk-3.so.0)
#11 0x00007f0b7fc0572c gtk_window_key_press_event (libgtk-3.so.0)
Here after is the analysis of a gnucash dev:
Interesting. The actual crash is at https://gitlab.gnome.org/GNOME/gtk/blob/gtk-3-22/gdk/gdkwindow.c#L664 Where they don’t check for a NULL window before dereferencing it. Looks to me like the problem is either at https://gitlab.gnome.org/GNOME/gtk/blob/gtk-3-22/modules/input/gtkimcontextxim.c#L656 or the next line. One of those calls is returning NULL and the code assumes that it doesn’t.
That might be because the event->window is NULL. That’s still a Gtk problem, though I’ll leave it up to the Gtk folks to figure it out. GnuCash is clean on this one.
You should probably start off by filing a bug with Arch and let the Gtk packager take it up with the Gtk folks.
Hope this may be of some help to you.