GNOME Bugzilla – Bug 711567
Cannot save a custom report if a path contain diacritic chars
Last modified: 2018-06-29 23:21:04 UTC
Used operating system: Windows 8.1. An user account contain one diacritic mark, so the path to reports folder looks like: C:\Users\Łukasz\.gnucash\saved-reports-2.4 And if I try to create a custom report, a GnuCash show me a message box: "Cannot open a file C:\Users\Łukasz\.gnucash\saved-reports-2.4. Error: system-error - No such file or directory" And a report is not saved, although a save button became disabled.
Temporary solution: Open a new report and prepare for save (but dont save) Download a Process Explorer from SysInternals(MS) Setup a capture for a gnucash.exe (only for this process) Try to save a report Find a real report path in a Process Explorer - you are should find something similar "C:\Users\Ĺukasz\.gnucash\saved-reports-2.4" Run a cmd.exe with administrator rights. Move to c:\users and create a symlink to your real directory with "command mklink /d "Ĺ?ukasz" Łukasz"
Thank you for your report. Meanwhile GnuCash 2.6.1 has been released which contains a number of fixes related to non-English locales. Can you test if you still encounter this problem with that version ?
GnuCash 2.6.1 has this problem too. Moreover - when I try to save a report, program simply crash. From my point of view - a version 2.6.1 works worse than 2.4.x :(
I can indeed reproduce the bug on a windows XP machine by creating a user named Łukasz. That helped me fixing the crash already (see commit https://github.com/Gnucash/gnucash/commit/faf05aab ). The core of this bug, being that non-ascii characters in the path are interpreted wrongly will take more time to get fixed. It's clear there is some locale mixup going on here. Figuring out where on a Windows box is ... hard.
*** Bug 640062 has been marked as a duplicate of this bug. ***
Tldr summary: this particular bug will be fixed in the upcoming gnucash 2.6.4. Longer background: It took me a while to find the root cause of this bug. It's actually not in GnuCash but in guile, a library used by GnuCash. GnuCash on Windows currently uses guile 1.8, while guile 2.0 has been release for some time now. On the #guile irc channel I was told to try with guile 2.0 as that may carry a fix for the bug. I did try to build this version of guile on Windows but it has several Windows-only bugs still. So for now I have decided to work around the issue by accessing the troublesome files from our C code instead of using guile's functions for that. This has fixed loading and saving of saved reports (the subject of this bug). There are other parts of gnucash though that suffer the same problem. I have created bug 737089 to follow up on this.
Reassign version to 2.4.x so that individual 2.4 versions can be retired.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=711567. Please update any external references or bookmarks.