GNOME Bugzilla – Bug 759889
Regression in 2.6.10: QIF import failure
Last modified: 2018-06-29 23:45:17 UTC
I have 2 QIF files that import correctly using GnuCash-2.6.9 but fail to import using GnuCash-2.6.10. In 2.6.10, when I click on Start Import in the QIF Import dialog, I get a popup which says: A bug was detected while converting the QIF data. (This is after doing the account matching, category matching, book options.) The traceback displayed in the window that started GnuCash-2.6.10 is shown below. In ice-9/boot-9.scm: 157: 14 [catch #t #<catch-closure 94c5df0> ...] In unknown file: ?: 13 [apply-smob/1 #<catch-closure 94c5df0>] In ice-9/boot-9.scm: 157: 12 [catch ignore #<procedure b7d72d0 at main.scm:116:4 ()> ...] In unknown file: ?: 11 [lazy-catch #t #<procedure b7d72a0 at main.scm:118:18 ()> ...] In ice-9/boot-9.scm: 171: 10 [with-throw-handler #t #<catch-closure b7b45e0> #<catch-closure b7b45d0>] In unknown file: ?: 9 [apply-smob/1 #<catch-closure b7b45e0>] In ice-9/boot-9.scm: 157: 8 [catch cancel #<procedure b7b45b0 at qif-to-gnc.scm:434:13 ()> ...] 157: 7 [catch bad-date #<procedure private-convert ()> ...] In qif-to-gnc.scm: 383: 6 [private-convert] 833: 5 [qif-import:mark-matching-xtns # #] 848: 4 [qif-import:mark-some-splits # # #] In unknown file: ?: 3 [gnc-numeric-neg "700.00"] In ice-9/boot-9.scm: 1302: 2 [#<procedure 97fb330 at ice-9/boot-9.scm:1301:4 (obj)> "700.00"] 102: 1 [#<procedure a400640 at ice-9/boot-9.scm:97:6 (thrown-k . args)> wrong-type-arg ...] In unknown file: ?: 0 [apply-smob/1 #<catch-closure b7b45d0> wrong-type-arg ...] ERROR: In procedure apply-smob/1: ERROR: In procedure struct_vtable: Wrong type argument in position 1 (expecting struct): "700.00"
Thanks for taking the time to report this. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 756335 ***
It is a little confusing, but if I read the comments on bug #756335 correctly, it sounds like that problem started out as something different and against 2.6.9. Initial patches that were posted there perhaps made it into 2.6.10 but resulted in a new problem, which is the one I reported here? Anyway, I applied the patch at the end of bug #756335 (comment 17) to GnuCash-2.6.10 and rebuilt. My QIF import still fails, although with a different traceback (see below). Maybe I was supposed to apply more than one patch? Maybe the patch is for 2.6.9 not 2.6.10? Since my problem is specifically on 2.6.10 (works with 2.6.9), and the other started out with a different error on 2.6.9, I would prefer if both bug reports could be kept open until both are resolved. But it is your call, of course. In ice-9/boot-9.scm: 157: 13 [catch #t #<catch-closure 9c09df0> ...] In unknown file: ?: 12 [apply-smob/1 #<catch-closure 9c09df0>] In ice-9/boot-9.scm: 157: 11 [catch ignore #<procedure ab382a0 at main.scm:116:4 ()> ...] In unknown file: ?: 10 [lazy-catch #t #<procedure ab38270 at main.scm:118:18 ()> ...] In ice-9/boot-9.scm: 171: 9 [with-throw-handler #t #<catch-closure b65e650> #<catch-closure b65e640>] In unknown file: ?: 8 [apply-smob/1 #<catch-closure b65e650>] In ice-9/boot-9.scm: 157: 7 [catch cancel #<procedure b65e610 at qif-to-gnc.scm:434:13 ()> ...] 157: 6 [catch bad-date #<procedure private-convert ()> ...] In qif-to-gnc.scm: 383: 5 [private-convert] 833: 4 [qif-import:mark-matching-xtns # #] 857: 3 [qif-import:mark-some-splits # # #] In unknown file: ?: 2 [double-to-gnc-numeric "820.82"] In ice-9/boot-9.scm: 102: 1 [#<procedure b63fce0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> wrong-number-of-args ...] In unknown file: ?: 0 [apply-smob/1 #<catch-closure b65e640> wrong-number-of-args ...] ERROR: In procedure apply-smob/1: ERROR: Wrong number of arguments to #<procedure double-to-gnc-numeric (_ _ _)>
Darn, I should have remembered better how that function worked. I've attached a new patch to bug 756335. Yes, it applies to 2.6.10 which had the earlier patches from that bug already applied. Your analysis is correct, note that the last stack trace posted on bug 756335 matches yours. It's clearly the same. If you prefer to respond here that's OK, the status doesn't affect the ability to post. *** This bug has been marked as a duplicate of bug 756335 ***
Sorry, not there yet. I applied the new patch (attachment 317915 [details] [review] to bug #756335) alone to clean 2.6.10 source and now I get the same error but with the traceback below. In ice-9/boot-9.scm: 157: 13 [catch #t #<catch-closure 9093df0> ...] In unknown file: ?: 12 [apply-smob/1 #<catch-closure 9093df0>] In ice-9/boot-9.scm: 157: 11 [catch ignore #<procedure 9cf8a20 at main.scm:116:4 ()> ...] In unknown file: ?: 10 [lazy-catch #t #<procedure 9cf89f0 at main.scm:118:18 ()> ...] In ice-9/boot-9.scm: 171: 9 [with-throw-handler #t #<catch-closure aeab9b0> #<catch-closure aeab990>] In unknown file: ?: 8 [apply-smob/1 #<catch-closure aeab9b0>] In ice-9/boot-9.scm: 157: 7 [catch cancel #<procedure aeab960 at qif-to-gnc.scm:434:13 ()> ...] 157: 6 [catch bad-date #<procedure private-convert ()> ...] In qif-to-gnc.scm: 383: 5 [private-convert] 833: 4 [qif-import:mark-matching-xtns # #] 857: 3 [qif-import:mark-some-splits # # #] In unknown file: ?: 2 [double-to-gnc-numeric "820.82" 0 2391] In ice-9/boot-9.scm: 102: 1 [#<procedure adc37e0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> wrong-type-arg ...] In unknown file: ?: 0 [apply-smob/1 #<catch-closure aeab990> wrong-type-arg ...] ERROR: In procedure apply-smob/1: ERROR: Wrong type (expecting real number): "820.82"
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=759889. Please update any external references or bookmarks.