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 712222 - Cannot import QIF files
Cannot import QIF files
Status: RESOLVED FIXED
Product: GnuCash
Classification: Other
Component: Import - QIF
2.4.x
Other Linux
: Normal blocker
: ---
Assigned To: gnucash-import-maint
gnucash-import-maint
Depends on:
Blocks:
 
 
Reported: 2013-11-13 15:09 UTC by Harold Naparst
Modified: 2018-06-29 23:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test QIF file (422 bytes, text/plain)
2013-11-13 15:09 UTC, Harold Naparst
Details
gnucash.trace (839.42 KB, text/plain)
2014-01-16 11:12 UTC, Frank H. Ellenberger
Details

Description Harold Naparst 2013-11-13 15:09:30 UTC
Created attachment 259736 [details]
test QIF file

Most imports of securities files fail with "An unknown bug occurred".

Please see attached simplified example QIF file.  Below is the trace file.

* 11:50:34  WARN <gnc.core-utils> g_locale_to_utf8 failed: Invalid byte sequence in conversion input
* 11:50:34  WARN <gnc.core-utils> Invalid utf8 string: [Nordnet USD depå]
* 11:50:34  WARN <gnc.core-utils> g_locale_to_utf8 failed: Invalid byte sequence in conversion input
* 11:50:34  WARN <gnc.core-utils> Invalid utf8 string: [Nordnet EUR depå]
* 12:04:35  WARN <gnc.scm> In /usr/share/gnucash/guile-modules/gnucash/main.scm:
 143:  7* [apply #<procedure #f ()> ()]
In unknown file:
   ?:  8  [#<procedure #f ()>]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 414:  9  [catch cancel #<procedure #f ()> #<procedure #f (key . args)>]
In unknown file:
   ?: 10* [#<procedure #f ()>]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 416: 11* [catch bad-date #<procedure private-convert ()> ...]
In unknown file:
   ?: 12* [private-convert]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 224: 13* (let* (# # # # ...) (letrec # # # ...))
In unknown file:
   ?: 14  (letrec (#) (if progress-dialog #) (hash-fold # #t qif-acct-map) ...)
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 370: 15* [for-each #<procedure #f (qif-file)> (#)]
In unknown file:
   ?: 16* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 376: 17* [for-each #<procedure #f (xtn)> (# # # # ...)]
In unknown file:
   ?: 18* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 381: 19* (if (not (qif-xtn:mark xtn)) (let* (#) (xaccTransBeginEdit gnc-xtn) ...))
 383: 20  (let* ((gnc-xtn #)) (xaccTransBeginEdit gnc-xtn) ...)
 392: 21* [qif-import:qif-xtn-to-gnc-xtn # # # ...]
 431: 22  (let (# # # # ...) (cond # # #) (if qif-payee #) ...)
 507: 23* (if (not qif-security) (begin # # # ...) (let* # # # ...))
 601: 24  (let* (# # # # ...) (if # #) (if xtn-amt # #) ...)
    ...
 773: 25  (begin # # # ...)
 778: 26* [xaccSplitSetAccount #<swig-pointer Split * cb15b40> #f]
/usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:778:17: In procedure xaccSplitSetAccount in expression (xaccSplitSetAccount gnc-far-split far-acct):
/usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:778:17: Wrong type argument in position 2: #f
* 15:04:05  WARN <gnc.scm> In unknown file:
   ?: 12* [private-convert]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 224: 13* (let* (# # # # ...) (letrec # # # ...))
In unknown file:
   ?: 14  (letrec (#) (if progress-dialog #) (hash-fold # #t qif-acct-map) ...)
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 370: 15* [for-each #<procedure #f (qif-file)> (#)]
In unknown file:
   ?: 16* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 376: 17* [for-each #<procedure #f (xtn)> (# # # # ...)]
In unknown file:
   ?: 18* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 381: 19* (if (not (qif-xtn:mark xtn)) (let* (#) (xaccTransBeginEdit gnc-xtn) ...))
 383: 20  (let* ((gnc-xtn #)) (xaccTransBeginEdit gnc-xtn) ...)
 392: 21* [qif-import:qif-xtn-to-gnc-xtn # # # ...]
 431: 22  (let (# # # # ...) (cond # # #) (if qif-payee #) ...)
 507: 23* (if (not qif-security) (begin # # # ...) (let* # # # ...))
 601: 24  (let* (# # # # ...) (if # #) (if xtn-amt # #) ...)
 660: 25* (if (and qif-near-acct qif-far-acct) (begin # # # ...))
 661: 26  (begin (set! near-acct-info #) (set! near-acct-name #) ...)
 683: 27* (set! far-acct-name (qif-map-entry:gnc-name far-acct-info))
 683: 28* [qif-map-entry:gnc-name #f]
In unknown file:
   ?: 29  (if (eq? # #) (struct-ref obj 3) (%record-type-error # obj))
   ?: 30* [eq? ...
   ?: 31* [struct-vtable #f]
<unnamed port>: In procedure struct-vtable in expression (struct-vtable obj):
<unnamed port>: Wrong type argument in position 1 (expecting struct): #f
* 15:06:28  WARN <gnc.scm> In unknown file:
   ?: 12* [private-convert]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 224: 13* (let* (# # # # ...) (letrec # # # ...))
In unknown file:
   ?: 14  (letrec (#) (if progress-dialog #) (hash-fold # #t qif-acct-map) ...)
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 370: 15* [for-each #<procedure #f (qif-file)> (#)]
In unknown file:
   ?: 16* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 376: 17* [for-each #<procedure #f (xtn)> (# # # # ...)]
In unknown file:
   ?: 18* [#<procedure #f #> #]
In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm:
 381: 19* (if (not (qif-xtn:mark xtn)) (let* (#) (xaccTransBeginEdit gnc-xtn) ...))
 383: 20  (let* ((gnc-xtn #)) (xaccTransBeginEdit gnc-xtn) ...)
 392: 21* [qif-import:qif-xtn-to-gnc-xtn # # # ...]
 431: 22  (let (# # # # ...) (cond # # #) (if qif-payee #) ...)
 507: 23* (if (not qif-security) (begin # # # ...) (let* # # # ...))
 601: 24  (let* (# # # # ...) (if # #) (if xtn-amt # #) ...)
 660: 25* (if (and qif-near-acct qif-far-acct) (begin # # # ...))
 661: 26  (begin (set! near-acct-info #) (set! near-acct-name #) ...)
 683: 27* (set! far-acct-name (qif-map-entry:gnc-name far-acct-info))
 683: 28* [qif-map-entry:gnc-name #f]
In unknown file:
   ?: 29  (if (eq? # #) (struct-ref obj 3) (%record-type-error # obj))
   ?: 30* [eq? ...
   ?: 31* [struct-vtable #f]
<unnamed port>: In procedure struct-vtable in expression (struct-vtable obj):
<unnamed port>: Wrong type argument in position 1 (expecting struct): #f
Comment 1 Frank H. Ellenberger 2014-01-16 10:19:51 UTC
What are your http://wiki.gnucash.org/wiki/Locale_Settings ?
Reset the status to unconfirmed as you answer.
Comment 2 Harold Naparst 2014-01-16 10:42:22 UTC
I am not using GnuCash anymore and cannot provide input.
Comment 3 Frank H. Ellenberger 2014-01-16 11:12:29 UTC
Created attachment 266438 [details]
gnucash.trace

LANG=de_DE.utf8 gnucash  --nofile --debug --extra
:
To find the last stable version, please refer to http://www.gnucash.org
6:2014/01/16 11-59-28:gwen(26402):gui.c:  125: Using own callbacks in gui 0x32ee0a0
woop /home/frank/test/share/gnucash/python
Hello from python!
:
Found Finance::Quote version 1.18

[File->Import->QIF]

In ice-9/boot-9.scm:
 157: 15 [catch #t #<catch-closure 23e8b20> ...]
In unknown file:
   ?: 14 [apply-smob/1 #<catch-closure 23e8b20>]
In ice-9/boot-9.scm:
 157: 13 [catch ignore #<procedure 2cafc30 at gnucash/main.scm:112:4 ()> ...]
In unknown file:
   ?: 12 [lazy-catch #t #<procedure 2cafbd0 at gnucash/main.scm:114:18 ()> ...]
In ice-9/boot-9.scm:
 171: 11 [with-throw-handler #t #<catch-closure 29cdba0> #<catch-closure 29cdb80>]
In unknown file:
   ?: 10 [apply-smob/1 #<catch-closure 29cdba0>]
In ice-9/boot-9.scm:
 157: 9 [catch cancel ...]
 157: 8 [catch bad-date #<procedure private-convert ()> ...]
In qif-import/qif-to-gnc.scm:
 370: 7 [private-convert]
In srfi/srfi-1.scm:
 619: 6 [for-each #<procedure 3bf3f60 at qif-import/qif-to-gnc.scm:371:7 (qif-file)> ...]
 619: 5 [for-each #<procedure 2d99bd0 at qif-import/qif-to-gnc.scm:377:10 (xtn)> #]
In qif-import/qif-to-gnc.scm:
 392: 4 [#<procedure 2d99bd0 at qif-import/qif-to-gnc.scm:377:10 (xtn)> #]
 685: 3 [qif-import:qif-xtn-to-gnc-xtn # # # ...]
In ice-9/boot-9.scm:
1302: 2 [#<procedure 2aa3840 at ice-9/boot-9.scm:1301:4 (obj)> #f]
 102: 1 [#<procedure 2e2b440 at ice-9/boot-9.scm:97:6 (thrown-k . args)> wrong-type-arg ...]
In unknown file:
   ?: 0 [apply-smob/1 #<catch-closure 29cdb80> wrong-type-arg ...]
ERROR: In procedure apply-smob/1:
ERROR: In procedure struct_vtable: Wrong type argument in position 1 (expecting struct): #f
sys:1: Warning: g_key_file_free: assertion 'key_file != NULL' failed
/home/frank/bin/gnucashtest: Zeile 12: 26402 Speicherzugriffsfehler  ~/test/bin/gnucash --nofile --debug --extra
Comment 4 Harold Naparst 2014-08-03 09:42:33 UTC
As far as I am concerned QIF import works perfectly in 2.6.3.   It crunched through the same huge data file perfectly.

Kind Regards,
Harold Naparst
Comment 5 John Ralls 2017-09-24 22:48:30 UTC
Reassign version to 2.4.x so that individual 2.4 versions can be retired.
Comment 6 John Ralls 2018-06-29 23:21:19 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=712222. Please update any external references or bookmarks.