GNOME Bugzilla – Bug 603186
txf-de_DE.scm line 47 -> gnucash crashes on start
Last modified: 2018-06-29 22:31:11 UTC
Hi, as far as I can debug this, the reason is the txf-de_DE.scm file in \share\gnucash\scm line 47 according to the error message. It seems, that the changes in Revision 18413 can be blamed for this, because r18412 works without problem and the last change on this file was in r18413.
I don't see the crash here, and I also compile with --enable-locale-specific-tax. When selecting the tax report, I get the German text, where clicking on the "Export" button shows the two possibilites "HTML" or "Elster", so I think I can indeed execute the txf-de_DE.scm file correctly (SVN trunk). Are you sure you don't get a mix-up of older and newer gnucash files in your installation? Or are you talking about the daily Windows binary build of gnucash.org?
I'm talking about the daily builds. I uninstalled any previous version and deleted everything left after uninstall including settings.
Correction: Crash happens when I open a file, not generally on start Backtrace: In unknown file: ?: 0* [gnc:txf-get-form ((Ind (N000 . #) (K35 . #) ...)) N000 ...] In C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm: 41: 1* [gnc:txf-get-code-info ((Ind (N000 . #) (K35 . #) ...)) N000 ...] 84: 2 (let* (# # #) (and category #)) 84: 3* [assv ... 84: 4* (if (eqv? tax-entity-type "") (quote Ind) (string->symbol tax-entity-t ype)) 86: 5 [string->symbol #f] C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: In procedure str ing->symbol in expression (string->symbol tax-entity-type): C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: Wrong type argum ent in position 1 (expecting STRINGP): #f
(In reply to comment #3) > Correction: Crash happens when I open a file, not generally on start > > Backtrace: > In unknown file: > ?: 0* [gnc:txf-get-form ((Ind (N000 . #) (K35 . #) ...)) N000 ...] > In C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm: > 41: 1* [gnc:txf-get-code-info ((Ind (N000 . #) (K35 . #) ...)) N000 ...] > 84: 2 (let* (# # #) (and category #)) > 84: 3* [assv ... > 84: 4* (if (eqv? tax-entity-type "") (quote Ind) (string->symbol > tax-entity-t > ype)) > 86: 5 [string->symbol #f] > > C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: In procedure > str > ing->symbol in expression (string->symbol tax-entity-type): > C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: Wrong type > argum > ent in position 1 (expecting STRINGP): #f Is it crashing when you open any file? Or do you have the Tax Report open when the file is opened (by that I mean, did you have the tax report open when you last saved the file and exited gnucash so it tries to reopen the report the next time it opens the file)? The reason I ask is because it says 'In unknown file:'. I want to confirm that the routine in 'C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm' that is failing is being called by the latest 'taxtxf-de_DE.scm'. You're not using a custom report, I assume? Also, when you say 'it crashes' does gnucash terminate completely or is it giving you a message that the report terminated but gnucash keeps running with other tabs open? If gnucash keeps running but the report crashes, what happens if you try to run the report again from the report menu? Does it crash again?
It crashes on any file, directly, without any message, without any report open.
(In reply to comment #4) > (In reply to comment #3) > > Correction: Crash happens when I open a file, not generally on start > > > > Backtrace: > > In unknown file: > > ?: 0* [gnc:txf-get-form ((Ind (N000 . #) (K35 . #) ...)) N000 ...] > > In C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm: > > 41: 1* [gnc:txf-get-code-info ((Ind (N000 . #) (K35 . #) ...)) N000 ...] > > 84: 2 (let* (# # #) (and category #)) > > 84: 3* [assv ... > > 84: 4* (if (eqv? tax-entity-type "") (quote Ind) (string->symbol > > tax-entity-t > > ype)) > > 86: 5 [string->symbol #f] > > > > C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: In procedure > > str > > ing->symbol in expression (string->symbol tax-entity-type): > > C:\Program Files\gnucash\share\gnucash\scm/txf-de_DE.scm:86:47: Wrong type > > argum > > ent in position 1 (expecting STRINGP): #f > > Is it crashing when you open any file? Or do you have the Tax Report open when > the file is opened (by that I mean, did you have the tax report open when you > last saved the file and exited gnucash so it tries to reopen the report the > next time it opens the file)? The reason I ask is because it says 'In unknown > file:'. I want to confirm that the routine in 'C:\Program > Files\gnucash\share\gnucash\scm/txf-de_DE.scm' that is failing is being called > by the latest 'taxtxf-de_DE.scm'. You're not using a custom report, I assume? > > Also, when you say 'it crashes' does gnucash terminate completely or is it > giving you a message that the report terminated but gnucash keeps running with > other tabs open? > > If gnucash keeps running but the report crashes, what happens if you try to run > the report again from the report menu? Does it crash again? Replying to my own reply, I see in the source that the procedure cited in the backtrace, 'gnc:txf-get-form' is not called from 'taxtxf-de_DE.scm'. So the problem can't be from a previously open report. This procedure is called from 'gnc-ui-util.c' in order to display tax information on a column on the accounts tab. That is probably why it says 'In unknown file:'; it's from a C program not a scheme module. In fact, I can recreate the problem and a two line patch will fix it.
r18465, 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=603186. Please update any external references or bookmarks.