GNOME Bugzilla – Bug 352324
Crash on changing file properties (guile-1.8) in procedure gnc:kvp-frame-set-slot-path
Last modified: 2018-06-29 21:11:40 UTC
Gnucash 2.0.1 goes boom when I try to change the file properties using File->Properties. How to reproduce: 1. open gnucash (and load a file if needed) 2. open file properties window: File->Properties 3. enter something (what does not matter) in the 'Company Name' field (first field in window) 4. activate the 'Apply' button *BOOM* with the following backtrace: In unknown file: ?: 0* [apply-cb] In /usr/share/gnucash/guile-modules/gnucash/gnome-utils.scm: 29: 1* [gnc:options-scm->kvp #<procedure dispatch #> # # ...] In /usr/share/gnucash/scm/options.scm: 1471: 2 [scm->kvp #<gw:wcp <gnc:kvp-frame*> 0x9b53be8> ("options")] In unknown file: ... ?: 3 [hash-for-each #<procedure #f (section hash)> #(() () (#) () ...)] In /usr/share/guile/site/slib/hashtab.scm: 120: 4 (do ((i (+ -1 #) (+ -1 i))) ((negative? i)) ...) 122: 5* [alist-for-each #<procedure #f (section hash)> (("Business" . #))] In /usr/share/guile/site/slib/alist.scm: 117: 6 [for-each #<procedure #f (pair)> (("Business" . #(# # # ...)))] In unknown file: ?: 7* [#<procedure #f (pair)> ("Business" . #((#) (#) (#) ...))] In /usr/share/guile/site/slib/alist.scm: 117: 8* [#<procedure #f (section hash)> "Business" #((#) (#) (#) () ...)] In /usr/share/gnucash/scm/options.scm: 1299: 9 [section-for-each #((#) (#) (#) () ...) #<procedure #f (option)>] In unknown file: ... ?: 10 [hash-for-each #<procedure #f (name option)> #((#) (#) (#) () ...)] In /usr/share/guile/site/slib/hashtab.scm: 120: 11 (do ((i (+ -1 #) (+ -1 i))) ((negative? i)) ...) 122: 12* [alist-for-each #<procedure #f (name option)> (("Company Name" . #))] In /usr/share/guile/site/slib/alist.scm: 117: 13 [for-each #<procedure #f (pair)> (("Company Name" . #))] In unknown file: ?: 14* [#<procedure #f (pair)> ("Company Name" . #)] In /usr/share/guile/site/slib/alist.scm: 117: 15* [#<procedure #f #> "Company Name" #] In /usr/share/gnucash/scm/options.scm: 1295: 16 [#<procedure #f (option)> #("Business" "Company Name" "a" ...)] ... 199: 17 [gnc:kvp-frame-set-slot-path # {"NUNX"} #] /usr/share/gnucash/scm/options.scm:199:20: In procedure exact? in expression (gnc:kvp-frame-set-slot-path f value ...): /usr/share/gnucash/scm/options.scm:199:20: Wrong type argument in position 1: "NUNX" Restarting gnucash gives a file lock warning, the lock file has to be deleted manually to get everything back to normal. The file property change is not recorded. expected result: no boom (duh) Results obtained using latest fedora core development version running gnucash 2.0.1 built from r14585 on 2006-08-11.
Bug also reported in fedora bugzilla: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=203472
This exact crash has been reported before in bug#345950 but it went away after installation of gnucash-2.0.0. Unfortunately none of the developers was able to reproduce this error, so it's probably related to something in your system. Can you please tell us the version numbers for the packages g-wrap and guile? Do I understand correctly: The gnucash package was built by Fedora and you installed the pre-compiled version? Is it possible for you to compile gnucash yourself (maybe into a different prefix by --prefix=/opt/gnucash) and check whether the error still occurs?
g-wrap-1.9.6-7.1 guile-1.8.0-6.20060712cvs Happens with stock guile-1.8.0 as well.
Judging from a comparison against gnucash-2.0.1 on FC5, I'd suspect that this is a guile-1.8 interaction.
*** Bug 367138 has been marked as a duplicate of this bug. ***
*** Bug 367705 has been marked as a duplicate of this bug. ***
*** Bug 373624 has been marked as a duplicate of this bug. ***
*** Bug 375920 has been marked as a duplicate of this bug. ***
*** Bug 376721 has been marked as a duplicate of this bug. ***
I am seeing exactly the same crash with GNUCash 2.0.2-1 on FC6. Trace: [klmitch@kit ~]$ gnucash gnucash: [M] "Found Finance::Quote version ""1.11" Backtrace: In unknown file: ?: 0* [apply-cb] In /usr/share/gnucash/guile-modules/gnucash/gnome-utils.scm: 29: 1* [gnc:options-scm->kvp #<procedure dispatch #> # # ...] In /usr/share/gnucash/scm/options.scm: 1471: 2 [scm->kvp #<gw:wcp <gnc:kvp-frame*> 0xa250f30> ("options")] In unknown file: ... ?: 3 [hash-for-each #<procedure #f (section hash)> #(() () (#) () ...)] In /usr/share/guile/site/slib/hashtab.scm: 120: 4 (do ((i (+ -1 #) (+ -1 i))) ((negative? i)) ...) 122: 5* [alist-for-each #<procedure #f (section hash)> (("Business" . #))] In /usr/share/guile/site/slib/alist.scm: 117: 6 [for-each #<procedure #f (pair)> (("Business" . #(# # # ...)))] In unknown file: ?: 7* [#<procedure #f (pair)> ("Business" . #((#) (#) (#) ...))] In /usr/share/guile/site/slib/alist.scm: 117: 8* [#<procedure #f (section hash)> "Business" #((#) (#) (#) () ...)] In /usr/share/gnucash/scm/options.scm: 1299: 9 [section-for-each #((#) (#) (#) () ...) #<procedure #f (option)>] In unknown file: ... ?: 10 [hash-for-each #<procedure #f (name option)> #((#) (#) (#) () ...)] In /usr/share/guile/site/slib/hashtab.scm: 120: 11 (do ((i (+ -1 #) (+ -1 i))) ((negative? i)) ...) 122: 12* [alist-for-each #<procedure #f (name option)> (("Fancy Date Format" . #))] In /usr/share/guile/site/slib/alist.scm: 117: 13 [for-each #<procedure #f (pair)> (("Fancy Date Format" . #))] In unknown file: ?: 14* [#<procedure #f (pair)> ("Fancy Date Format" . #)] In /usr/share/guile/site/slib/alist.scm: 117: 15* [#<procedure #f #> "Fancy Date Format" #] In /usr/share/gnucash/scm/options.scm: 1295: 16 [#<procedure #f (option)> #("Business" "Fancy Date Format" "g" ...)] ... 1359: 17 [#<procedure #f #> # #] 1213: 18* [gnc:kvp-frame-set-slot-path # {"locale"} #] /usr/share/gnucash/scm/options.scm:1213:8: In procedure exact? in expression (gnc:kvp-frame-set-slot-path f (symbol->string #) ...): /usr/share/gnucash/scm/options.scm:1213:8: Wrong type argument in position 1: "locale" This is with g-wrap-1.9.6-7.1 and guile-1.8.0-8.20060831cvs, and using pre-compiled binaries. I can replicate by simply opening up the properties dialog, clicking "Defaults", and then clicking either "Apply" or "OK." Any suggestions? Anything you want me to try for debugging?
Tested with 2.0.4 and it works for me. Will push to FC6 updates testing shortly.
Not sure about whether this "changing file properties" crash went away or not. But "Print Check" crash, Bug#367705 http://bugzilla.gnome.org/show_bug.cgi?id=367705 is still there as of Gnucash 2.0.5-svn.
If his bug recurs, please reopen the bug report.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=352324. Please update any external references or bookmarks.