GNOME Bugzilla – Bug 326578
SVN crashes on opening 1.8 datafile with renamed reports
Last modified: 2018-06-29 20:55:07 UTC
Just adding this to bugzilla so that it doesn't get lost. Severity is Blocker because those who test 2.0.0 must not get a crash as their first impression. Problem is: Gnucash-SVN crashes on startup if gnucash-1.8 had one of the reports opened that have been renamed in SVN. To reproduce: Start gnucash-1.8. Open the "Income & Expenses" -> "Profit & Loss" report. Leave the report open and close gnucash. Then start gnucash-SVN. Boom. The "Profit & Loss" report (pnl.scm) has been renamed into "Income Statement" (income-statement.scm) on 2004-07-13 in HEAD. http://svn.gnucash.org/trac/changeset/10199 References: https://lists.gnucash.org/pipermail/gnucash-devel/2006-January/015330.html and references therein Console output: Diese Version befindet sich noch in Entwicklung. Sie kann funktionieren, muss aber nicht. Fehler und andere Probleme werden auf gnucash-devel at gnucash.org diskutiert. Fehlerberichte können auf http://bugzilla.gnome.org eingeschickt werden. Die letzte stabile Version war GnuCash 1.8.12 Die nächste stabile Version wird sein: GnuCash 2.0 gnucash: [W] "failure loading ""/home/martin/.gnucash/config-1.8.auto" gnucash: [W] "report-menu-setup" gnucash: [W] "failure loading ""/home/martin/.gnucash/books/%2Fhome% 2Fmartin%2Fwork%2FFinanzielles%2Fgnucash%2Ffamilie-2005" Backtrace: In current input: 1: 0* [gnc:main] ?: 1 (letrec ((handle-batch-mode-item (lambda # #))) (gnc:startup-pass-1) ...) In /home/martin/Projects/gnucash-bin//share/gnucash/guile-modules/gnucash/main.scm: 595: 2* (if (null? gnc:*batch-mode-things-to-do*) (begin # #) ...) 597: 3 (begin # #) 599: 4 (let* (# #) (set! gnc:*command-line-remaining* #) (if # # #) ...) 616: 5* [gnc:start-ui-event-loop] In unknown file: ?: 6* [gnc:main-window-book-open-handler #<gw:wcp <gnc:Session*> 0x83ec508>] ?: 7* (letrec ((try-load #)) (let* (# # #) (if conf-file-name #) ...)) In /home/martin/Projects/gnucash-bin//share/gnucash/scm/main-window.scm: 73: 8 (let* (# # #) (if conf-file-name #) (hash-fold # #t *gnc:_reports_*)) 80: 9 [hash-fold #<procedure #f (key val prior-result)> #t ...] In unknown file: ?: 10* [#<procedure #f #> 0 # #t] In /home/martin/Projects/gnucash-bin//share/gnucash/scm/main-window.scm: 81: 11* [gnc:main-window-open-report 0 #f] In unknown file: ?: 12* [gnc:report-name #] In /home/martin/Projects/gnucash-bin//share/gnucash/scm/report.scm: 309: 13* [gnc:option-value ... 310: 14* [gnc:lookup-option #f "General" "Report name"] In /home/martin/Projects/gnucash-bin//share/gnucash/scm/options.scm: 1459: 15 ((options (quote lookup)) section name) 1459: 16* (options (quote lookup)) /home/martin/Projects/gnucash-bin//share/gnucash/scm/options.scm:1459:4: In expression (options (quote lookup)): /home/martin/Projects/gnucash-bin//share/gnucash/scm/options.scm:1459:4: Wrong type to apply: #f
add 1.9.0 milestone. Should really not happen for any 1.9.x tester.
The point where it's crashing here is the call to gnc:report-name, in report.scm:308. Maybe we should modify this to the following: (define (gnc:report-name report) (if report (gnc:option-value (gnc:lookup-option (gnc:report-options report) gnc:pagename-general gnc:optname-reportname)) "")) but I'm not sure altogether where that gnc:report-name call came from anyway. Or is the crash caused by (define (gnc:restore-report id template-name options) in report.scm:267 ? Maybe we should first check whether the template-name will result in something meaningful?
By the way I cannot reproduce this anymore, although a different problem occurs: The "reports" menu suddenly disappears in SVN if the previous start of 1.8 used the renamed report... which needs to be fixed, too, but it probably isn't a blocker for 1.9.0 anymore. Maybe this isn't that much of an issue?
Should be fixed now. Current behavior is to ignore renamed reports.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=326578. Please update any external references or bookmarks.