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 352324 - Crash on changing file properties (guile-1.8) in procedure gnc:kvp-frame-set-slot-path
Crash on changing file properties (guile-1.8) in procedure gnc:kvp-frame-set-...
Status: VERIFIED INCOMPLETE
Product: GnuCash
Classification: Other
Component: General
2.0.x
Other Linux
: Normal critical
: ---
Assigned To: Chris Shoemaker
Chris Lyttle
: 367138 373624 375920 376721 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-08-21 23:02 UTC by Frank de Lange
Modified: 2018-06-29 21:11 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Frank de Lange 2006-08-21 23:02:21 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.
Comment 1 Frank de Lange 2006-08-21 23:05:15 UTC
Bug also reported in fedora bugzilla:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=203472
Comment 2 Christian Stimming 2006-08-22 08:50:25 UTC
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?
Comment 3 Bill Nottingham 2006-08-22 16:09:52 UTC
g-wrap-1.9.6-7.1
guile-1.8.0-6.20060712cvs

Happens with stock guile-1.8.0 as well.
Comment 4 Bill Nottingham 2006-08-22 21:13:10 UTC
Judging from a comparison against gnucash-2.0.1 on FC5, I'd suspect that this is a guile-1.8 interaction.
Comment 5 André Klapper 2006-10-29 23:44:49 UTC
*** Bug 367138 has been marked as a duplicate of this bug. ***
Comment 6 Chris Shoemaker 2006-10-30 16:02:52 UTC
*** Bug 367705 has been marked as a duplicate of this bug. ***
Comment 7 Andreas Köhler 2006-11-11 01:10:39 UTC
*** Bug 373624 has been marked as a duplicate of this bug. ***
Comment 8 Christian Stimming 2006-11-16 14:36:59 UTC
*** Bug 375920 has been marked as a duplicate of this bug. ***
Comment 9 Christian Stimming 2006-11-21 09:52:18 UTC
*** Bug 376721 has been marked as a duplicate of this bug. ***
Comment 10 Kevin L. Mitchell 2006-12-14 19:09:12 UTC
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?
Comment 11 Bill Nottingham 2007-01-09 04:43:06 UTC
Tested with 2.0.4 and it works for me. Will push to FC6 updates testing shortly.
Comment 12 dawning sky 2007-02-20 22:33:31 UTC
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.
Comment 13 David Hampton 2007-04-22 19:52:25 UTC
If his bug recurs, please reopen the bug report.
Comment 14 John Ralls 2018-06-29 21:11:40 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=352324. Please update any external references or bookmarks.