After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796556 - On Ubuntu 14.04, crash when pressing tab in register
On Ubuntu 14.04, crash when pressing tab in register
Status: RESOLVED NOTABUG
Product: GnuCash
Classification: Other
Component: Regist-2
git-maint
Other Linux
: Normal major
: future
Assigned To: gnucash-ui-maint
gnucash-ui-maint
Depends on:
Blocks:
 
 
Reported: 2018-06-10 20:27 UTC by Christian Stimming
Modified: 2018-06-30 00:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Stimming 2018-06-10 20:27:21 UTC
I'm newly using gnucash 3.x (git-maint as of today); for daily work I still (have to) use the gnucash 2.6 branch. Finally I was able to build git-maint on my Ubuntu-14.04 system. However, when opening a register, trying to enter a new transaction, I clicked on the date of the new empty line, then (because the date was fine) I pressed Tab, I got a crash. This happens both for ENABLE_REGISTER2=on or =off. The attached backtrace is for ENABLE_REGISTER2=on.

  • #0 ??
    from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
  • #1 gdk_x11_window_get_xid
    from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
  • #2 ??
    from /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-xim.so
  • #3 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #4 gnucash_sheet_key_press_event
    at /home/cs/org/gnucash/git/maint/gnucash/register/register-gnome/gnucash-sheet.c line 1865
  • #5 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #6 _g_closure_invoke_va
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #7 g_signal_emit_valist
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #8 g_signal_emit
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #9 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #10 gtk_window_propagate_key_event
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #11 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #13 g_closure_invoke
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 768
  • #14 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3589
  • #15 g_signal_emit_valist
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3317
  • #16 g_signal_emit
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #17 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #18 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #19 gtk_main_do_event
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

Comment 1 Christian Stimming 2018-06-10 20:33:00 UTC
Updated backtrace with more dbg installed below. This is libgtk-3-0-dbg_3.10.8-0ubuntu1.4_amd64.deb, as mentioned on Ubuntu 14.04, yes indeed rather ancient but branch-2.6 runs fine there.

  • #0 gdk_window_has_impl
    at /build/buildd/gtk+3.0-3.10.8/./gdk/gdkwindow.c line 596
  • #1 _gdk_window_has_impl
    at /build/buildd/gtk+3.0-3.10.8/./gdk/gdkwindow.c line 597
  • #2 gdk_x11_window_get_xid
    at /build/buildd/gtk+3.0-3.10.8/./gdk/x11/gdkwindow-x11.c line 5518
  • #3 gtk_im_context_xim_filter_keypress
    at /build/buildd/gtk+3.0-3.10.8/./modules/input/gtkimcontextxim.c line 673
  • #4 gtk_im_multicontext_filter_keypress
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkimmulticontext.c line 361
  • #5 gnucash_sheet_key_press_event
    at /home/cs/org/gnucash/git/maint/gnucash/register/register-gnome/gnucash-sheet.c line 1865
  • #6 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #7 _g_closure_invoke_va
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #8 g_signal_emit_valist
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #9 g_signal_emit
    at /build/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #10 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkwidget.c line 7168
  • #11 gtk_widget_event
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkwidget.c line 6830
  • #12 gtk_window_propagate_key_event
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkwindow.c line 7269
  • #13 gtk_window_key_press_event
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkwindow.c line 7299
  • #14 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 85
  • #15 g_closure_invoke
    at /build/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 768

Comment 2 John Ralls 2018-06-10 21:31:32 UTC
Clicking on the second trace link shows that this is probably a duplicate of bug 795014, which is reported against Gtk at https://gitlab.gnome.org/GNOME/gtk/issues/61. Indeed, I can reproduce it only if I set the locale to de_DE and GTK_IM_MODULES=xim (though I didn't try other IMs). With GTK_IM_MODULES unset and with the locale still at de_DE the bug isn't triggered. See if GnuCash still crashes for you with it unset.

As an aside, you definitely don't want to enable Reg2. Other than the minimum porting necessary to get it to build it has gotten no attention whatever after the Gtk3 conversion.
Comment 3 Christian Stimming 2018-06-11 20:20:55 UTC
Unfortunately even with GTK_IM_MODULES unset I still run into this bug. (Now ENABLE_REGISTER2=off.) Still trying...

  • #0 gdk_window_has_impl
    at /build/buildd/gtk+3.0-3.10.8/./gdk/gdkwindow.c line 596
  • #1 _gdk_window_has_impl
    at /build/buildd/gtk+3.0-3.10.8/./gdk/gdkwindow.c line 597
  • #2 gdk_x11_window_get_xid
    at /build/buildd/gtk+3.0-3.10.8/./gdk/x11/gdkwindow-x11.c line 5518
  • #3 gtk_im_context_xim_filter_keypress
    at /build/buildd/gtk+3.0-3.10.8/./modules/input/gtkimcontextxim.c line 673
  • #4 gtk_im_multicontext_filter_keypress
    at /build/buildd/gtk+3.0-3.10.8/./gtk/gtkimmulticontext.c line 361
  • #5 gnucash_sheet_key_press_event
    at /home/cs/org/gnucash/git/maint/gnucash/register/register-gnome/gnucash-sheet.c line 1865

Comment 4 Christian Stimming 2018-06-11 20:29:48 UTC
... but turns out GTK_IM_MODULE="gtk-im-context-simple" does the trick, as inferred from here https://unix.stackexchange.com/questions/260601/understanding-setting-up-different-input-methods
Thanks for the pointer!
Comment 5 John Ralls 2018-06-30 00:11:46 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=796556. Please update any external references or bookmarks.