GNOME Bugzilla – Bug 795134
Improper handle of unicode character in username
Last modified: 2018-06-30 00:07:57 UTC
On Windows 10 and GnuCash 3.0 if the username contains for example a "é" character, it does not decode right. Here is a part of the trace file: * 17:23:16 WARN <gnc.app-utils> Could not spawn perl: Uitvoeren van dochterproces is mislukt (No such file or directory) * 17:23:16 WARN <gnc.backend.dbi> [GncDbiBackend<Type>::session_begin()] Sqlite3 file C:\Users\René Romijn\Documents\...\...\FileName.gnucash not found * 17:24:15 CRIT <gnc.core-utils> Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\expressions-2.0: No such file or directory Instead of é it uses é
There's a nightly build at https://wiki.gnucash.org/builds/win32/maint/gnucash-3.0-2018-04-16-git-3.0-75-g87f94abc8+.setup.exe that includes a change to converting characters from Scheme to UTF8 that I think resolves this issue. Please test it.
The nightly build in the comment above won't run due to a missing dll. I have just now created a new installer to fix that: https://wiki.gnucash.org/builds/win32/maint/gnucash-3.0-2018-04-17-git-3.0-75-g87f94abc8+.setup.exe Please test with that one and report back.
I tried that build, but i got exact the same error: * 15:49:17 WARN <gnc.app-utils> Could not spawn perl: Failed to execute child process (No such file or directory) * 15:49:17 WARN <gnc.backend.dbi> [GncDbiBackend<Type>::session_begin()] Sqlite3 file C:\Users\René Romijn\Documents\InstInkt\Boekhouding\InstInkt.gnucash not found * 15:50:06 CRIT <gnc.core-utils> Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\expressions-2.0: No such file or directory
I tested by creating a René Romijn user and had no trouble opening datafiles, both XML and SQLite3, contained in it. Yes, the backend log messages output ASCII instead of UTF-8, but that's not a reflection of any problems. So what's the rest of the tracefile say?
Perhaps stating the obvious: once gnucash is open have you also tried using File->Open to try and open your data file? Or did you stop once you got the error (which may be from gnucash' attempt to automatically trying to load the last used file) ? The last line of the trace file is also suspicious. It tells us gnucash assumes GNC_DATA_HOME is %TEMPDIR%\GnuCash instead of the normal %APPDATA%\GnuCash. This normally only happens if %APPDATA% doesn't exist or is otherwise not accessible. It may or may not be relevant. @René, can you open a Windows Explorer (the file manager) and in the address bar on top enter this: %APPDATA% What does the address turn into after you hit enter ? If there is no error can you check if there's a file or directory called "GnuCash" in there ? If there is what's its contents ? And also if there is please rename it and restart gnucash.
I will check later on, it would be no earlier then tomorrow then i can give any results.
If i go to %appdata% i go to my roaming dir: "C:\Users\René Romijn\AppData\Roaming" After File-> Open en reopen again it does open the datafile. But i do miss all my custom reports and if i try to make a new report and want to save it, it tries to save it under "C:\Users\Renrom~1\AppData\Local\Temp\René Romijn\GnuCash\saved-reports-2.8. Also on the report, the € sign is gone and is replaced with € There is no gnucash directory under %appdata% These are the trace files: * 19:15:03 WARN <gnc.app-utils> Could not spawn perl: Failed to execute child process (No such file or directory) * 19:15:03 WARN <gnc.backend.dbi> [GncDbiBackend<Type>::session_begin()] Sqlite3 file C:\Users\René Romijn\Documents\InstInkt\Boekhouding\InstInkt.gnucash not found * 19:15:40 CRIT <GLib> g_file_test: assertion 'filename != NULL' failed * 19:15:56 CRIT <GLib> g_file_test: assertion 'filename != NULL' failed * 19:16:10 CRIT <gnc.app-utils> [gnc_state_save()] Error: Failure saving state file. Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\books\InstInkt.gnucash.gcm: No such file or directory * 19:16:10 CRIT <gnc.core-utils> Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\expressions-2.0: No such file or directory * 19:16:22 WARN <gnc.app-utils> Could not spawn perl: Failed to execute child process (No such file or directory) * 19:20:34 CRIT <gnc.app-utils> [gnc_state_save()] Error: Failure saving state file. Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\books\InstInkt.gnucash.gcm: No such file or directory * 19:20:34 CRIT <gnc.core-utils> Cannot open file C:\Users\RENROM~1\AppData\Local\Temp\René Romijn\GnuCash\expressions-2.0: No such file or directory
John committed several fixes for this issue. Can you test with tomorrow's nightly build whether this solves the problem for you ? You will find the nightly build in a couple of hours here: https://code.gnucash.org/builds/win32/maint/
Hi, I have tested the version, still with the same result. I have attached a document where is give in detail what is going wrong.
Created attachment 371451 [details] Detail gnucash bug
Your detailed information says you are testing with gnucash 3.0 built on 2018-04-24. However with "tomorrow's nightly build" I meant the version that would be built on 2018-04-27 which is now available on the link above. Or here is the direct link to the actual file: https://code.gnucash.org/builds/win32/maint/gnucash-3.0-2018-04-27-git-3.0-94-g74fd6e046+.setup.exe The version of 2018-04-24 would not yet have all the fixes required. Can you retest with the latest version ?
Ok, i tested the version gnucash-3.0-2018-04-27-git-3.0-94-g74fd6e046+.setup and had the exact same result as what i send with the attachment.
Thanks although the result is disappointing :( Needs more work then.
Comment on attachment 371451 [details] Detail gnucash bug This actually shows that the bugs are fixed. The first problem is because an incorrectly-encoded path is stored on the history list. You should tell GnuCash to delete it. The second problem is because the migration of your user configuration files failed, but the new directory (C:\Users\René Romijn\AppData\Roaming\GnuCash now exists so the migration isn't attempted. You can either remove that directory completely to re-do the migration the next time you start GnuCash 3.x or you can copy the relevant files from C:\Users\René Romijn\.gnucash.
Ok, that seems to work. I started and told GnuCash to delete the historylist. I closed the application and copied over the files from the .gnucash directory to the C:\Users\René Romijn\AppData\Roaming\GnuCash and the reports are back again :) and at first sight it seems that all settings are preserved. Now i wont revert back :)
Excellent! Thanks for following up.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=795134. Please update any external references or bookmarks.