how to locate a bad spot in qif import

Tommy Trussell tommy.trussell at gmail.com
Thu Jan 25 15:59:16 EST 2007


When the .qif import crashes, is there a pointer containing the
offending line number in the .qif file?

I'm trying to import a Quicken Mac .qif to GnuCash, and on some
particular part, possibly in a stock transaction, the import dies.

I'd like to avoid the bug so I can proceed, and I am not averse to
manually tweaking the .qif file to make the import work, but I can't
tell for sure where the problem is. From the crash message, I see
"11/9/00" and several stock-related things happened on that date but I
don't know which one. I tried exporting transactions for that date
only but the import didn't crash. I have also tried exporting and
importing different subsets of the data and I'll need to make a chart
to keep track of what I've tried...

This is GnuCash 2.0.1 on Ubuntu 6.10. Importing from Mac Quicken 2002 Deluxe.


twt at emonster:~/TnA_financials_test $ gnucash TnA_test
GTK Accessibility Module initialized
Bonobo accessibility support initialized
gnucash: [M] "Found Finance::Quote version ""1.11"
qif-file:read-file : unknown Security slot G .. continuing anyway.
qif-file:read-file : unknown Security slot G .. continuing anyway.
qif-file:read-file : unknown Security slot G .. continuing anyway.
... snip about 100 of the same error ...
qif-file:read-file : unknown Security slot G .. continuing anyway.
Backtrace:
In /usr/share/gnucash/scm/qif-import/qif-file.scm:
 520:  2* (and # # # ...)
 561:  3* [check-and-parse-field #<procedure qif-xtn:date #> ...]
 651:  4  (let (# # #) (if # #) (cond # # #) ...)
 656:  5* (if (not (null? objects)) (letrec (#) (loop # #)))
 657:  6  (letrec ((loop (lambda # # #))) (loop (car objects) (cdr objects)))
    ...
 667:  7  [loop # #]
 659:  8* (let ((val #)) (if val (begin # #)))
 660:  9  (if val (begin (set! do-parsing #t) (set! formats (checker
val formats))))
    ...
 663: 10  (set! formats (checker val formats))
 663: 11* [qif-parse:check-date-format "11/9/00" #f]
In /usr/share/gnucash/scm/qif-import/qif-parse.scm:
 392: 12  (let ((retval #f)) (if (or # #) (set! retval possible-formats)) ...)
 396: 13* (let ((match #)) (if match (if # # #)))
 397: 14  (if match (if (match:substring match 1) (set! retval #)
(let* # # # ...)))
    ...
 399: 15  (set! retval (parse-check-date-format match possible-formats))
 399: 16* [parse-check-date-format #("11/9/00" (0 . 7) (0 . 2) ...) #f]
 312: 17  (let (# # #) (set! numeric-date-parts #) (let # # # ...) ...)
 331: 18* (let (# # # # ...) (if # #) (if # #) ...)
 364: 19* (if (or (not #) (< n3 1)) (set! possibilities (delq # possibilities)))
 365: 20  (set! possibilities (delq (quote y-m-d) possibilities))
 365: 21* [delq y-m-d #f]

/usr/share/gnucash/scm/qif-import/qif-parse.scm:365:31: In procedure
list-copy in expression (delq (quote y-m-d) possibilities):
/usr/share/gnucash/scm/qif-import/qif-parse.scm:365:31: Wrong type
argument in position 1: #f
twt at emonster:~/TnA_financials_test $


More information about the gnucash-user mailing list