GNOME Bugzilla – Bug 378274
Another QIF crasher
Last modified: 2018-06-29 21:16:59 UTC
Steps to reproduce: 1. Start gnucash 2. Import attached QIF file 3. Observe crash Stack trace: linbox# gnucash --nofile In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm: 323: 10* [for-each #<procedure #f (qif-file)> (#)] In unknown file: ?: 11* [#<procedure #f #> #] In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm: 325: 12* [for-each #<procedure #f (xtn)> (#)] In unknown file: ?: 13* [#<procedure #f #> #] In /usr/share/gnucash/scm/qif-import/qif-to-gnc.scm: 333: 14* (if (not (qif-xtn:mark xtn)) (begin (let* # # # ...))) 334: 15 (begin (let* ((gnc-xtn #)) (gnc:transaction-begin-edit gnc-xtn) ...)) 336: 16 (let* ((gnc-xtn #)) (gnc:transaction-begin-edit gnc-xtn) ...) 345: 17* [qif-import:qif-xtn-to-gnc-xtn # # # ...] 369: 18 (let (# # # ...) (apply gnc:transaction-set-date gnc-xtn ...) ...) 408: 19* (if (not qif-security) (begin # # # ...) (let* # # # ...)) 497: 20 (let* (# # # # ...) (if # #) (if # #) ...) 616: 21* (if qif-commission-acct (let* (# #) (set! commission-acct #))) 617: 22 (let* (# #) (set! commission-acct #)) 621: 23* [qif-map-entry:gnc-name #f] In unknown file: ?: 24* [%record-type-check #<record-type qif-map-entry> #f] ?: 25 (or (eq? rtd #) (scm-error # "%record-type-check" ...)) ?: 26* [eq? #<record-type qif-map-entry> ... ?: 27* [record-type-descriptor #f] ?: 28 (if (struct? obj) (struct-vtable obj) (error (quote not-a-record) obj)) ... ?: 29 [scm-error misc-error #f "~A ~S" (not-a-record #f) #f] <unnamed port>: In procedure scm-error in expression (scm-error (quote misc-error) #f ...): <unnamed port>: not-a-record #f Other information: Here's the file: !Account NAssets:Investments:Kathy 457b TBank ^ !Type:Bank D3/ 4/2005 N1111 YKathy 457b I1 Q786.21 U786.21 T786.21 MEst. price as of 3/4/2005 O-77,834.79 L[Assets:Bank:Spencer Chkg] $786.21 ^
May be similar to bug 377519
No, I don't think this is the same as bug 377519 -- the stacktrace (and in particular the error) is different. What OS/Distro are you using? What version of the SLIB library do you have? You could test if it's bug 377519 by testing the change in r15128, but I doubt it will fix this problem.
I use Fedora 6 and slib-3a3-2. Harry
Is this fully-updated? Have you tried filing a bug report with Fedora? This particular stacktrace looks like a broken slib version, but 3a3 should be just fine, and nobody else on FC6 has reported THIS particular issue.
OK, you lost me - I don't even know what slib is. But I can find out and try to run a few tests. Are you sure it's slib and not gnucash?
SLIB is a "Scheme LIBrary".. The error you posted is reminiscent of a "bad slib" error in certain versions of slib. I'm just confused, because 3a3 is KNOWN to work, and everyone else on FC6 importing QIF has the problem in bug 377519 and not the stack trace you reported.
OK, just let me know how I can help. I'm a competent programmer, but not in Scheme. Harry
Well, first, make sure you've got a fully updated FC6.. Then you can try applying the patch from r15128, but I can't imagine how it would help with the particular stacktrace you reported.
And FTR, you can find that patch here: http://svn.gnucash.org/trac/changeset/15128?format=diff&new=15128
My FC6 is fully updated. Maybe I can help isolate the source of that stacktrace. Is there a way I can run the QIF scheme script in gnucash outside the GUI? In version 1.8 I could do something like this: gnucash --load script.scm --evaluate "(blah-blah-blah)" Is there some equivalent in version 2.0? Harry
No, the --evaluate option was removed from 2.0.
I see this is still marked as unconfirmed. I can confirm it as a bug (with almost identical stack trace - just different line numbers) for r15387 on Windows XP. I don't see any way to be able to mark it as confirmed though - sorry. In unknown file: ?: 11 (if (null? rest) (letrec ((lp #)) (lp list1)) ...) ... ?: 12 (begin (f (car l)) (lp (cdr l))) ?: 13* [#<procedure #f #> #] In c:\Personal\Projects\GnuCash\gnucash\inst\share\gnucash\scm/qif-import/qif-to-gnc.scm: 326: 14 [for-each #<procedure #f (xtn)> (#)] In unknown file: ... ?: 15 (begin (f (car l)) (lp (cdr l))) ?: 16* [#<procedure #f #> #] In c:\Personal\Projects\GnuCash\gnucash\inst\share\gnucash\scm/qif-import/qif-to-gnc.scm: 334: 17 (if (not (qif-xtn:mark xtn)) (begin (let # # # ...))) ... 337: 18 (let ((gnc-xtn #)) (xaccTransBeginEdit gnc-xtn) ...) 346: 19* [qif-import:qif-xtn-to-gnc-xtn # # # ...] 370: 20 (let (# # # # ...) (apply xaccTransSetDate gnc-xtn #) (if qif-payee #) ...) 409: 21* (if (not qif-security) (begin # # # ...) (let* # # # ...)) 498: 22 (let* (# # # # ...) (if # #) (if # #) ...) 617: 23* (if qif-commission-acct (let* (# #) (set! commission-acct #))) 618: 24 (let* (# #) (set! commission-acct #)) 622: 25* [qif-map-entry:gnc-name #f] In unknown file: ?: 26 (and (eq? (quote #) (record-type-descriptor obj)) (struct-ref obj 3)) ?: 27* [eq? #<record-type qif-map-entry> ... ?: 28* [record-type-descriptor #f] ?: 29 (if (struct? obj) (struct-vtable obj) (error (quote not-a-record) obj)) ... ?: 30 [scm-error misc-error #f "~A ~S" (not-a-record #f) #f] <unnamed port>: In procedure scm-error in expression (scm-error (quote misc-error) #f ...) : <unnamed port>: not-a-record #f
May be fixed by r16095 for GnuCash 2.1.2. Well, I cannot see a transaction and do not know whether this correct or not.
@Harry: Could you please check again with gnucash 2.1.2? Thanks.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=378274. Please update any external references or bookmarks.