https://bugs.winehq.org/show_bug.cgi?id=49730
Bug ID: 49730 Summary: Number formatting broken with "nl_NL.UTF-8" (for msmoney) Product: Wine Version: 5.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: rudy.metzger@xs4all.nl Distribution: ---
Created attachment 68013 --> https://bugs.winehq.org/attachment.cgi?id=68013 Broken 1 - nl_NL.UTF-8
After version 5.10 the number formatting is broken (for MSMoney). See attached screenshots.
version 5.10 -> Works as expected version 5.10+ -> Numbers broken with LANG="nl_NL.UTF-8"
If I set LANG="en_US.UTF-8" number show up correct again (but with different decimal punctuation)
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #1 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68014 --> https://bugs.winehq.org/attachment.cgi?id=68014 Broken 2 - nl_NL.UTF-8
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #2 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68015 --> https://bugs.winehq.org/attachment.cgi?id=68015 Broken 3 - nl_NL.UTF-8
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #3 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68016 --> https://bugs.winehq.org/attachment.cgi?id=68016 Working 1 - Broken 1 - nl_NL.UTF-8
https://bugs.winehq.org/show_bug.cgi?id=49730
Rudy rudy.metzger@xs4all.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #68016|0 |1 is obsolete| |
--- Comment #4 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68017 --> https://bugs.winehq.org/attachment.cgi?id=68017 Working 1 - en_US.UTF-8
https://bugs.winehq.org/show_bug.cgi?id=49730
Rudy rudy.metzger@xs4all.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rudy.metzger@xs4all.nl
https://bugs.winehq.org/show_bug.cgi?id=49730
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- Steps to reproduce would be nice. What version of MSMoney is this?
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #6 from Gijs Vermeulen gijsvrm@gmail.com --- Also, doing a regression test would be best, steps are described here: https://wiki.winehq.org/Regression_Testing
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #7 from Rudy rudy.metzger@xs4all.nl --- Sorry Fabian, forgot about steps to reproduce. MSMoney version is
"Microsoft Money 2002 Standard Edition"
I also added screenshots of the version and the package. If you need more information, please let me know. (Unfortunately I cannot give you a zip of the installed application as it is copyright protected and a serial-number is required).
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #8 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68029 --> https://bugs.winehq.org/attachment.cgi?id=68029 Money Version (screenshot)
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #9 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68030 --> https://bugs.winehq.org/attachment.cgi?id=68030 Money Packages
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #10 from Rudy rudy.metzger@xs4all.nl --- Gijs, I am not sure if I am capable of doing a regression test. But I can pin the versions down pretty much.
wine 5.10 -> working wine 5.13 -> broken wine 5.15 -> still broken
I have installed wine-staging-5.10 from winehq on my machine and it works again. FYI: I am using Fedora and prefer the packages coming with Fedora.
For details please check the attached "dnf.log" named "dnf-winehq.txt". If it would be helpful for you I can further pin down version between 5.10 <-> 5.13 to see the EXACT version where it broke. Please let me know if this is desired.
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #11 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68031 --> https://bugs.winehq.org/attachment.cgi?id=68031 dnf-winehq.txt
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #12 from Rudy rudy.metzger@xs4all.nl --- Gijs, I went ahead and installed wine-staging-5.11-2.1.i686 from winehq. In this version the bug already occurs. So I can confirm that the bug was introduced by this version (5.11).
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #13 from Gijs Vermeulen gijsvrm@gmail.com --- Could you attach a +msvcrt,+msvcp log with both wine-5.10 and 5.11?
Steps are described here: https://wiki.winehq.org/FAQ#How_can_I_get_a_debugging_log_.28a.k.a._terminal...
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #14 from Rudy rudy.metzger@xs4all.nl --- I just uploaded the files. The zipfile contains:
wine-staging-5.10-en_US.UTF-8.log -> WORKING wine-staging-5.10-nl_NL.UTF-8.log -> WORKING wine-staging-5.11-en_US.UTF-8.log -> WORKING wine-staging-5.11-nl_NL.UTF-8.log -> BROKEN affected-tab.log -> (*)
affected-tab.log is a snipped of the logfile with the tab with the broken numbers.
More details: NOT all tabs are affected. On some tabs the numbers show up correctly, on others they are broken. If it does not work on a tab, it NEVER works on a tab (so it is consitant and predictable). This affects both lists and input fields. Not want to jump to conclusions as you are the experts, but could it be a printf formatting problem ("%0*I64d", "%.*f"). Again, does NOT happen at en_US.UTF-8, but at nl_NL.UTF-8
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #15 from Rudy rudy.metzger@xs4all.nl --- Created attachment 68032 --> https://bugs.winehq.org/attachment.cgi?id=68032 wine-debug-logs.tgz
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #16 from Fabian Maurer dark.shadow4@web.de --- I could potentially help with regression testing, but I would need to know how to reproduce. Can you please tell me how to make the bug occur?
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #17 from Rudy rudy.metzger@xs4all.nl --- How to reproduce:
- install wine-stating-5.11+ from winehq - install money 2002 (see above for version) - start up money (set locale to nl_NL.UTF-8) (see below) - create a new money file (mymoney.mny) - once in MSMoney, click the "portfolio" tab - you now seen an empty list with no investments - on the left side click "Add an investment" - add an investment (just use fake data) - Investments to watch - Investment name (e.g. google) - Select "shares" - Use defaults/fake data in next screen - select Finish - use fake data (100 price, 100 quantity, 10 fees, ...) - select "no" when ask if you want to add another - In the overview screen you can now see the broken numbers (nl_NL.UTF-8!)
during install you get some screens for log into money online or msn or the like. Just skip these.
How to "fix": - use wine-staging-5.10 (or below) - OR use en_US.UTF-8 for LANG
I use this script to startup ---------------------------------
#!/bin/sh
export WINEPREFIX="/home/username/wine-msmoney-staging" export LANG="nl_NL.UTF-8" /opt/wine-staging/bin/wine "C:\Program Files\Microsoft Money\System\msmoney.exe"
Please let me know if you need more information, screenshots or the like. I try to answer as fast as possible.
https://bugs.winehq.org/show_bug.cgi?id=49730
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |bfa1e3ef8f592d74f1dfcc89ba9 | |40946ad327591 Keywords| |regression, testcase Component|-unknown |msvcrt Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #18 from Fabian Maurer dark.shadow4@web.de --- The offending commit is
commit bfa1e3ef8f592d74f1dfcc89ba940946ad327591 Author: Piotr Caban piotr@codeweavers.com Date: Mon Jun 8 17:20:39 2020 +0200
msvcrt: Use internal sprintf implementation.
Reverting fixes the issue.
To be exact, the issue is inside char * CDECL MSVCRT__fcvt( double number, int ndigits, int *decpt, int *sign )
When it calls "snprintf", that returns a string with decimal separator "." When it calls "MSVCRT__snprintf", that returns a string with decimal separator ","
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #19 from Fabian Maurer dark.shadow4@web.de --- Created attachment 68036 --> https://bugs.winehq.org/attachment.cgi?id=68036 Testcase (Source + Binary)
Attaching testcase including source.
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #20 from Fabian Maurer dark.shadow4@web.de --- Created attachment 68037 --> https://bugs.winehq.org/attachment.cgi?id=68037 Proposed patch
Attaching a patch I'd propose to fix the issue, not 100% sure if it's correct though.
https://bugs.winehq.org/show_bug.cgi?id=49730
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr@codeweavers.com
--- Comment #21 from Fabian Maurer dark.shadow4@web.de --- @Piotr, would you mind taking a look at my patch here?
https://bugs.winehq.org/show_bug.cgi?id=49730
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #22 from Piotr Caban piotr.caban@gmail.com --- (In reply to Fabian Maurer from comment #21)
@Piotr, would you mind taking a look at my patch here?
The patch looks good for me. Please also update the _s variant of the function and send it to wine-devel.
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #23 from Piotr Caban piotr.caban@gmail.com --- It should be fixed by 9a9319b0589065edbc60a1ff7735cad0dbe481af. Please retest. Thanks Fabian.
https://bugs.winehq.org/show_bug.cgi?id=49730
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9a9319b0589065edbc60a1ff773 | |5cad0dbe481af Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #24 from Fabian Maurer dark.shadow4@web.de --- Marking resolved, it works for me now.
https://bugs.winehq.org/show_bug.cgi?id=49730
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #25 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.16.
https://bugs.winehq.org/show_bug.cgi?id=49730
--- Comment #26 from Rudy rudy.metzger@xs4all.nl --- I also can confirm that this works now.
@Fabian - Thank you very much for picking this up that quickly and helping out, very much appreciated! Left a donation for all your efforts and support!