All available un-hard-masked versions of app-office/gnucash (2.7.4-r1 and 2.7.5) are currently completely unusable, as they crash consistently when doing almost anything, such as entering a number, pressing Ctrl or pressing Alt. Updating from x11-libs/gtk+-3.22.19 to -3.22.26 doesn't help, no other versions of x11-libs/gtk+:3 are available. Recompiling gnucash after updating gtk+ doesn't help. Reported elsewhere, x11-libs/gtk+:3 is assigned the blame: http://gnucash.1415818.n4.nabble.com/Fwd-gnucash-2-7-5-segfault-when-typing-in-account-field-td4697805.html https://gitlab.gnome.org/GNOME/gtk/issues/61 ———————————————————————————————————————————————————————————————— Thread 1 "gnucash" received signal SIGSEGV, Segmentation fault. #0 0x00007ffff42d9aa2 in gdk_window_has_impl (window=<optimized out>) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gdk/gdkwindow.c:677 #1 _gdk_window_has_impl (window=window@entry=0x0) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gdk/gdkwindow.c:678 #2 0x00007ffff431030e in gdk_x11_window_get_xid (window=0x0) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gdk/x11/gdkwindow-x11.c:5560 #3 0x00007fffbf469f2a in gtk_im_context_xim_filter_keypress (context=0x5555557dcb40, event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/modules/input/gtkimcontextxim.c:673 #4 0x00007ffff6d33d63 in gtk_im_multicontext_filter_keypress (context=0x555557b35570, event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkimmulticontext.c:359 #5 0x00007ffff4780d2b in gnucash_sheet_key_press_event (widget=0x5555577167f0, event=0x5555557d1c00) at /var/tmp/portage/app-office/gnucash-2.7.5/work/gnucash-2.7.5/gnucash/register/register-gnome/gnucash-sheet.c:1866 #6 0x00007ffff6d53fca in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x555555883870, return_value=0x7fffffffc410, instance=0x5555577167f0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555881e40) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkmarshalers.c:128 #7 0x00007ffff65430a2 in _g_closure_invoke_va (closure=closure@entry=0x555555883870, return_value=return_value@entry=0x7fffffffc410, instance=instance@entry=0x5555577167f0, args=args@entry=0x7fffffffc4e0, n_params=1, param_types=0x555555881e40) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gclosure.c:867 #8 0x00007ffff655d341 in g_signal_emit_valist (instance=0x5555577167f0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffc4e0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3300 #9 0x00007ffff655df67 in g_signal_emit (instance=instance@entry=0x5555577167f0, signal_id=<optimized out>, detail=detail@entry=0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3447 #10 0x00007ffff6ea04bc in gtk_widget_event_internal (widget=0x5555577167f0, event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkwidget.c:7732 #11 0x00007ffff6ec0ddb in gtk_window_propagate_key_event (window=window@entry=0x555555a9a2d0, event=event@entry=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkwindow.c:8154 #12 0x00007ffff6ec492b in gtk_window_key_press_event (widget=0x555555a9a2d0, event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkwindow.c:8187 #13 0x00007ffff6d53fca in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x555555883870, return_value=0x7fffffffc800, instance=0x555555a9a2d0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555881e40) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkmarshalers.c:128 #14 0x00007ffff6543154 in _g_closure_invoke_va (closure=closure@entry=0x555555883870, return_value=return_value@entry=0x7fffffffc800, instance=instance@entry=0x555555a9a2d0, args=args@entry=0x7fffffffc8d0, n_params=<optimized out>, param_types=0x555555881e40) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gclosure.c:867 #15 0x00007ffff655d341 in g_signal_emit_valist (instance=0x555555a9a2d0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffc8d0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3300 #16 0x00007ffff655df67 in g_signal_emit (instance=instance@entry=0x555555a9a2d0, signal_id=<optimized out>, detail=detail@entry=0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3447 #17 0x00007ffff6ea04bc in gtk_widget_event_internal (widget=0x555555a9a2d0, event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkwidget.c:7732 #18 0x00007ffff6d51029 in propagate_event (widget=0x555555a9a2d0, event=0x5555557d1c00, captured=<optimized out>, topmost=0x0) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkmain.c:2671 #19 0x00007ffff6d52ffe in gtk_main_do_event (event=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkmain.c:1911 #20 0x00007ffff42c9ab5 in _gdk_event_emit (event=event@entry=0x5555557d1c00) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gdk/gdkevents.c:73 #21 0x00007ffff42face2 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gdk/x11/gdkeventsource.c:367 #22 0x00007ffff748a5c7 in g_main_dispatch (context=0x5555557daf00) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3234 #23 g_main_context_dispatch (context=context@entry=0x5555557daf00) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3899 #24 0x00007ffff748a830 in g_main_context_iterate (context=0x5555557daf00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3972 #25 0x00007ffff748ab52 in g_main_loop_run (loop=0x5555559d5ce0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:4168 #26 0x00007ffff6d521b5 in gtk_main () at /var/tmp/portage/x11-libs/gtk+-3.22.26/work/gtk+-3.22.26/gtk/gtkmain.c:1322 #27 0x00007ffff6298a7d in gnc_ui_start_event_loop () at /var/tmp/portage/app-office/gnucash-2.7.5/work/gnucash-2.7.5/gnucash/gnome-utils/gnc-gnome-utils.c:652
Based on the external links, my first question would be - what input method do you use? Like any ibus stuff going or, or just your usual latin?
Also would be good to know what version of wxGTK:3.0-gtk3 you have installed
I think it's the normal input method, whatever that is. I don't have ibus installed. I have a .XCompose file, but renaming it and starting gnucash didn't make a difference. Doing “echo $GTK_IM_MODULE” gives “xim”. Installed x11-libs/wxGTK:3.0-gtk3 is 3.0.3-r300, which is currently the only available version. I tried recompiling it in case – didn't help, though.
(In reply to Cyp from comment #3) > Doing “echo $GTK_IM_MODULE” gives “xim”. Running “GTK_IM_MODULE='' gnucash” seems to suppress the crash. grepping /etc finds /etc/env.d/99local:export GTK_IM_MODULE=xim I think that might have had something to do with fixing the compose key in openoffice, don't remember.
Anything I've been able to find regarding xim indicates that it was already obsolete years ago[1]. You could give app-i18n/uim a go, and see how that works out for you. As I understand it, uim supports the .XCompose file. [1]: https://unix.stackexchange.com/questions/260601/understanding-setting-up-different-input-methods
You shouldn't need any of that with gtk3. I believe this is the default method, in lack of any overrides via the envvar (and almost certainly is, as the new emoji stuff comes by default via there): https://developer.gnome.org/gtk3/stable/GtkIMContextSimple.html
I have been experiencing the same issue. My tests have confirmed, that it is caused by this setting: > export GTK_IM_MODULE=xim The reason I have this setting, is to allow complex compose key sequences in gtk+:2 applications. Without them the official firefox binary would warn: > [...] The max number of sequences is 7: <Multi_key> <u> <u> <KP_2> <KP_7> <KP_1> <KP_3> <space> : "✓" U2713 # CHECK MARK See also https://wiki.neo-layout.org/ticket/100 (german). I can also confirm that installing app-i18n/uim and setting > export GTK_IM_MODULE=uim is a suitable work-around. It allows the usage of long compose sequences and it does not cause gnucash to crash. It is also true, that the long compose sequences from .XCompose work out-of-the-box in gtk+:3 applications. For the time being we still have to content with some gtk+:2 applications though. Can somebody please add https://gitlab.gnome.org/GNOME/gtk/issues/61 as upstream URL. It gets easily overlooked in the report above.
Upstream has determined the bug lies in GTK.
I wouldn't expect any solution anytime soon, if ever. The "fix" is to stop using xim.
(In reply to Mart Raudsepp from comment #9) > I wouldn't expect any solution anytime soon, if ever. The "fix" is to stop > using xim. This is a good enough reason to close the bug. Since first reporting, xim has just gotten even more obsolete. Use app-i18n/uim.