GNOME Bugzilla – Bug 662633
Scheduled transaction editor crashes with gtk+-2.24.7
Last modified: 2011-11-09 18:57:09 UTC
With gtk+-2.24.7, gnucash's scheduled transaction editor segfaults the program in gtk_widget_propagate_hierarchy_changed_recurse(). By reverting to gtk+-2.24.6 the editor behaves normally. I have not filed this as a gtk+-2.24 bug, as it may be that the gnucash code is at fault and this has only recently been uncovered by changes in the gtk+ code - no other programs of mine crash with gtk+-2.24.7. I have tested this with gnucash-2.24.6 and gnucash-2.24.8. Both behave the same way. The glib version used is glib-2.30.1. This will become a blocker as soon as distributions start to upgrade their gtk+-2 versions. The backtrace is here: Program received signal SIGSEGV, Segmentation fault. 0xb703c701 in gtk_widget_propagate_hierarchy_changed_recurse () from /usr/lib/libgtk-x11-2.0.so.0 (gdb) backtrace
+ Trace 228902
I should have said that the crash occurs when you bring up an "Edit Scheduled Transaction" dialog and then try and close the edit dialog. Closing the dialog crashes gnucash.
Thank you for reporting this bug. Do you have the opportunity to test this with the current development version as well ? The source can be found at https://svn.gnucash.org/repo/gnucash/trunk I'm asking because in the development tree, the scheduled transaction dialogs have been migrated from libglade to gtkbuilder format, which included several code changes. This may already have fixed the problem.
Hmmm, your webkit requirement is a real problem. gnome-3 requires webkit to be compiled against gtk+3. Your program requires it to be compiled against gtk+2. The two don't mix (it errors out with mixed symbols). Unless you are going to major on windows in the future I think you need to rethink your webkit stuff, or port gnucash to gtk+3. If you are going to major on windows in the future and gnome-3 users are going to have to stay with gnucash-2.4, the need to fix this bug becomes the greater. Out of interest, what version of webkit are you using?
Ah, I see webkit is parallel installable for gtk+2 and gtk+3. I'll recompile webkit for gtk+2 later and give it another go.
*** Bug 662844 has been marked as a duplicate of this bug. ***
*** Bug 663066 has been marked as a duplicate of this bug. ***
This is caused by http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=a516d2359c9eac84bfa4682a70a62315adedb1d6
(Reply to comment #2) The scheduled transaction editor also segfaults with the latest svn (revision 21513) with gtk+-2.24.7. The scheduled transaction editor in r21513 also has the unpleasant habit of trying to occupy the whole vertical extent of the screen but (on gnome-3.2 at least) miscalculates this, so that the OK/Cancel buttons are below the bottom of the screen; either that or the dialog author has unnecessarily picked a fixed size which requires a non-standard screen size to show it. This means that the editor buttons can only be reached via the keyboard.
CC'ing gtk patch author.
The same change is in gtk3, and i'm confident that it fixes a bug and is correct this way. What exactly are you doing in GnuCach to trigger this crash?
My faul, damnit, GTK+ 2.24.7 is broken, will fix instantly.
Fixed in git: commit 0a0fd5af99f2ae9b0f8cc6b943b98b7be43ed723 Author: Michael Natterer <mitch@gimp.org> Date: Wed Nov 2 20:27:39 2011 +0100 Bug 662633 - Scheduled transaction editor crashes with gtk+-2.24.7 Fix commit a516d2359c9eac84bfa4682a70a62315adedb1d6: check if priv->arrow_button exists in forall(). gtk/gtktoolbar.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Verified it works for me here, thanks!
@Michael: 8 minutes between the personal notification and a reaction, only another 19 minutes to identify the fact that it's a bug and its cause, and another 7 minutes until the fix is committed - this is indeed impressive! Thanks a lot!
*** Bug 663722 has been marked as a duplicate of this bug. ***