FS#23002 - [gtk2][gnucash] Segmentation fault when Import QIF

Attached to Project: Arch Linux
Opened by Fabrizio (netx512k) - Tuesday, 22 February 2011, 08:53 GMT
Last edited by Eric Belanger (Snowman) - Tuesday, 18 October 2011, 18:08 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Eric Belanger (Snowman)
Aaron Griffin (phrakture)
Ionut Biru (wonder)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
Every time i click on File->Import->Import Qif, gnucash crashes.

Additional info:
* package version(s)
gnucash 2.4.2-3
glibc 2.13-4
* config and/or log files etc.
gdb gnucash:

;;; WARNING (gnc:make-report-anchor: No such report: Income Over Time)

;;; WARNING (gnc:make-report-anchor: No such report: Expense Over Time)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff57c8e90 in strncmp () from /lib/libc.so.6

Steps to reproduce:
Click on File->Import->Import Qif
This task depends upon

Closed by  Eric Belanger (Snowman)
Tuesday, 18 October 2011, 18:08 GMT
Reason for closing:  Fixed
Additional comments about closing:  Should be fix with gtk2 2.24.7-1 in [testing]
Comment by Jelle van der Waa (jelly) - Thursday, 31 March 2011, 08:27 GMT
Have you tried the latest version?
Comment by Fabrizio (netx512k) - Thursday, 31 March 2011, 09:22 GMT
Also with the latest version (2.4.4).
I opened a bug on https://bugzilla.gnome.org/show_bug.cgi?id=643653

Thanx
Comment by Eric Belanger (Snowman) - Tuesday, 12 April 2011, 15:38 GMT
looks fixed in gnucash-2.4.5-1. At least with testing repo enabled.
Comment by Fabrizio (netx512k) - Wednesday, 13 April 2011, 13:39 GMT
This bug appears also with gnucash 2.4.5-1.
Comment by Eric Belanger (Snowman) - Thursday, 05 May 2011, 07:33 GMT
Did you tried with gtk2 2.24.4-1 ?
Comment by Fabrizio (netx512k) - Friday, 06 May 2011, 08:11 GMT
With:
gtk2 2.24.4
gtk3 3.0.9
gnucash 2.4.5


Backtrace:
#0 0x00007ffff5810780 in strncmp () from /lib/libc.so.6
#1 0x00007ffff62b7e19 in gtk_entry_completion_default_completion_func (model=<value optimized out>, iter=<value optimized out>, data=<value optimized out>)
at gtkentrycompletion.c:793
#2 gtk_entry_completion_visible_func (model=<value optimized out>, iter=<value optimized out>, data=<value optimized out>) at gtkentrycompletion.c:822
#3 0x00007ffff63e87d7 in gtk_tree_model_filter_visible (filter=<value optimized out>, child_iter=<value optimized out>) at gtktreemodelfilter.c:764
#4 0x00007ffff63ec89b in gtk_tree_model_filter_row_changed (c_model=0x1875e40, c_path=0x1e53540, c_iter=0x7fffffffd850, data=0x1dd5810)
at gtktreemodelfilter.c:1253
#5 0x00007ffff63ecb47 in gtk_tree_model_filter_refilter_helper (model=<value optimized out>, path=<value optimized out>, iter=<value optimized out>,
data=<value optimized out>) at gtktreemodelfilter.c:3457
#6 0x00007ffff63e6d42 in gtk_tree_model_foreach_helper (model=0x1875e40, iter=0x7fffffffd850, path=0x1e53540,
func=0x7ffff63ecb3e <gtk_tree_model_filter_refilter_helper>, user_data=0x1dd5810) at gtktreemodel.c:1607
#7 0x00007ffff63e8039 in IA__gtk_tree_model_foreach (model=0x1875e40, func=0x7ffff63ecb3e <gtk_tree_model_filter_refilter_helper>, user_data=0x1dd5810)
at gtktreemodel.c:1653
#8 0x00007ffff63ec26a in IA__gtk_tree_model_filter_refilter (filter=0x1dd5810) at gtktreemodelfilter.c:3477
#9 0x00007ffff62b9696 in IA__gtk_entry_completion_complete (completion=0x1e919d0) at gtkentrycompletion.c:1182
#10 0x00007ffff62a8f4b in check_completion_callback (completion=0x1e919d0) at gtkentry.c:9651
#11 0x00007ffff557208e in source_closure_marshal_BOOLEAN__VOID (closure=<value optimized out>, return_value=0x7fffffffd990,
n_param_values=<value optimized out>, param_values=<value optimized out>, invocation_hint=<value optimized out>, marshal_data=<value optimized out>)
at gsourceclosure.c:71
#12 0x00007ffff555894c in g_closure_invoke (closure=0x1e97110, return_value=0x7fffffffd990, n_param_values=0, param_values=0x0, invocation_hint=0x0)
at gclosure.c:767
#13 0x00007ffff55720e4 in source_closure_callback (data=0x1e97110) at gsourceclosure.c:113
#14 0x00007ffff5d4a0f1 in g_idle_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gmain.c:4545
#15 0x00007ffff5d4db74 in g_main_dispatch (context=0x677330) at gmain.c:2440
#16 g_main_context_dispatch (context=0x677330) at gmain.c:3013
#17 0x00007ffff5d4e180 in g_main_context_iterate (context=0x677330, block=<value optimized out>, dispatch=1, self=<value optimized out>) at gmain.c:3091
#18 0x00007ffff5d4e7db in g_main_loop_run (loop=0xb1cbe0) at gmain.c:3299
#19 0x00007ffff63188ff in IA__gtk_main () at gtkmain.c:1256
#20 0x00007ffff71a0759 in gnc_ui_start_event_loop () from /usr/lib/gnucash/libgncmod-gnome-utils.so
#21 0x000000000040368c in _start ()
Comment by Eric Belanger (Snowman) - Sunday, 29 May 2011, 04:13 GMT
Is it fixed in gnucash-2.4.6-1? I tested with a simple qif file and it went well.
Comment by Fabrizio (netx512k) - Sunday, 29 May 2011, 11:07 GMT
with gnucash 2.4.6:

#0 0x00007ffff57cb780 in strncmp () from /lib/libc.so.6
#1 0x00007ffff62869ab in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#2 0x00007ffff63cccbe in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#3 0x00007ffff63d0f3d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#4 0x00007ffff63d12f9 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#5 0x00007ffff63cacef in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#6 0x00007ffff63cc163 in gtk_tree_model_foreach () from /usr/lib/libgtk-x11-2.0.so.0
#7 0x00007ffff6287ad4 in gtk_entry_completion_complete () from /usr/lib/libgtk-x11-2.0.so.0
#8 0x00007ffff6275f48 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#9 0x00007ffff02bd4d9 in ?? () from /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff02a11fe in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff02bd4a1 in ?? () from /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff5d0c6cd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0x00007ffff5d0cea8 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0x00007ffff5d0d4ea in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0x00007ffff62ed2d7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x00007ffff78fa729 in gnc_ui_start_event_loop () from /usr/lib/gnucash/libgncmod-gnome-utils.so
#17 0x000000000040368c in _start ()
Comment by Eric Belanger (Snowman) - Sunday, 29 May 2011, 22:03 GMT
Maybe it depends on the QIF file. If you import this one, does it crash?
   test.qif (0.2 KiB)
Comment by Fabrizio (netx512k) - Monday, 30 May 2011, 14:22 GMT
Gnucash crash when i click on File->Import->Import, but before I can select the file.
Comment by Fabrizio (netx512k) - Saturday, 11 June 2011, 16:05 GMT
Everything OK if I run:
env LC_ALL=it_IT.UTF-8 gnucash

I was using it_IT@euro.
Comment by Eric Belanger (Snowman) - Saturday, 11 June 2011, 20:50 GMT
Does the file you were trying to import contains utf8 characters?
Comment by Fabrizio (netx512k) - Sunday, 12 June 2011, 07:36 GMT
The problem was that the crash appeared before the file selection.
Comment by Eric Belanger (Snowman) - Thursday, 13 October 2011, 03:32 GMT
According to: https://bugzilla.gnome.org/show_bug.cgi?id=628710
it's a gtk2 bug:

--- gtk+2.0-2.24.4.orig/gtk/gtkentrycompletion.c
+++ gtk+2.0-2.24.4/gtk/gtkentrycompletion.c
@@ -790,7 +790,8 @@ gtk_entry_completion_default_completion_
normalized_string = g_utf8_normalize (item, -1, G_NORMALIZE_ALL);
case_normalized_string = g_utf8_casefold (normalized_string, -1);

- if (!strncmp (key, case_normalized_string, strlen (key)))
+ if ((case_normalized_string != NULL) &&
+ !strncmp (key, case_normalized_string, strlen (key)))
ret = TRUE;

g_free (item);


https://bugzilla.gnome.org/show_bug.cgi?id=624270 says that it should be fixed in gtk 2.20.x but it's not the case. Should we patch the Arch package?
Comment by Ionut Biru (wonder) - Thursday, 13 October 2011, 05:58 GMT
no. just tell them that the issue was never fixed because the change landed in master and never in gtk2 branch

Loading...