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 727531 - Gnucash crashes leaving lock files when closing with "ERROR: Unbound variable: gnc:report-serialize".
Gnucash crashes leaving lock files when closing with "ERROR: Unbound variable...
Status: RESOLVED NOTABUG
Product: GnuCash
Classification: Other
Component: General
2.6.2
Other Linux
: Normal normal
: ---
Assigned To: gnucash-general-maint
gnucash-general-maint
Depends on:
Blocks:
 
 
Reported: 2014-04-03 09:42 UTC by Edward d'Auvergne
Modified: 2018-06-29 23:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Edward d'Auvergne 2014-04-03 09:42:42 UTC
By simply opening Gnucash and then closing again, the program crashes.  Here is some information about the crash and this Mageia 4 system.  Maybe this is a Guile 1.8 verses 2.0 bug:


$ gnucash --version
GnuCash 2.6.3
This copy was built from rev 4e4a032+ on 2014-03-30.


$ gnucash --debug
Found Finance::Quote version 1.18
java version "1.7.0_45"
OpenJDK Runtime Environment (mageia-2.4.4.2.mga4-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

;;; WARNING (gnc:resolve-unknown-comm: Oops - exchange rate ambiguity error:  元28,276.85  =  €3,477.27)

;;; WARNING (gnc:resolve-unknown-comm: Oops - exchange rate ambiguity error:  £751.40  =  €845.59)

;;; WARNING (gnc:resolve-unknown-comm: Oops - exchange rate ambiguity error:  DM49.74  =  fr.1,026.00)
Backtrace:
In ice-9/boot-9.scm:
 157: 7 [catch #t #<catch-closure 1c6ca00> ...]
In unknown file:
   ?: 6 [apply-smob/1 #<catch-closure 1c6ca00>]
   ?: 5 [call-with-input-string "gnc:report-serialize" ...]
In ice-9/boot-9.scm:
2320: 4 [save-module-excursion #<procedure 2c95db0 at ice-9/eval-string.scm:65:9 ()>]
In ice-9/eval-string.scm:
  44: 3 [read-and-eval #<input: string 2a9d4e0> #:lang ...]
  37: 2 [lp gnc:report-serialize]
In ice-9/eval.scm:
 393: 1 [eval #<memoized gnc:report-serialize> ()]
In unknown file:
   ?: 0 [memoize-variable-access! # #]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: gnc:report-serialize


$ locate ice-9/boot-9.scm
/usr/share/guile/1.8/ice-9/boot-9.scm
/usr/share/guile/2.0/ice-9/boot-9.scm

$ rpm -q guile
guile-2.0.9-2.mga4
$ rpm -q guile1.8
package guile1.8 is not installed
$ rpm -q guile-runtime
guile-runtime-2.0.9-2.mga4
$ rpm -q guile1.8-runtime
guile1.8-runtime-1.8.8-16.mga4
$ rpm -q lib64guile17
lib64guile17-1.8.8-16.mga4
$ rpm -q lib64guile2.0_22
lib64guile2.0_22-2.0.9-2.mga4


This bug prevents certain changes in the GUI from being saved.  And the lock files have to be constantly deleted.
Comment 1 Edward d'Auvergne 2014-04-08 17:54:10 UTC
Deleting the ~/.gnucash directory (or backing it up by renaming it) fixes the problem.  That is not an ideal solution though as all of the account settings in the ~/.gnucash/books directory will be lost and have to be manually set up again.
Comment 2 Edward d'Auvergne 2014-04-08 18:28:18 UTC
The problem is the asset and liability bar charts (minimally).  The steps to reproduce are:

1.  Start gnucash
2.  Click on the 'File->New file' menu item.
3.  In the 'New Account' wizard, simply click on 'Forward' on all pages leaving all the dfaults, and finally on 'Apply'.
4.  Select a temporary file name to save as.
5.  Click on the 'Reports->Assets & Liabilities->Asset Barchart' menu item.
6.  Close gnucash to see:

$ gnucash
Found Finance::Quote version 1.18
java version "1.7.0_45"
OpenJDK Runtime Environment (mageia-2.4.4.2.mga4-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
Backtrace:
In ice-9/boot-9.scm:
 157: 7 [catch #t #<catch-closure c71be0> ...]
In unknown file:
   ?: 6 [apply-smob/1 #<catch-closure c71be0>]
   ?: 5 [call-with-input-string "gnc:report-serialize" ...]
In ice-9/boot-9.scm:
2320: 4 [save-module-excursion #<procedure 148a5d0 at ice-9/eval-string.scm:65:9 ()>]
In ice-9/eval-string.scm:
  44: 3 [read-and-eval #<input: string 1476000> #:lang ...]
  37: 2 [lp gnc:report-serialize]
In ice-9/eval.scm:
 393: 1 [eval #<memoized gnc:report-serialize> ()]
In unknown file:
   ?: 0 [memoize-variable-access! # #]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: gnc:report-serialize
Comment 3 Edward d'Auvergne 2014-04-08 20:18:09 UTC
Gnucash was somehow detecting and using a non-standard version of Guile1.8 (not the same 2.0 version one as when you type 'guile', the default in the system path).  Removing access to this testing/debugging version causes this bug to disappear.  Therefore this is not a Gnucash bug.
Comment 4 John Ralls 2018-06-29 23:29:15 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=727531. Please update any external references or bookmarks.