http://bugs.winehq.org/show_bug.cgi?id=30823
Bug #: 30823 Summary: mono program incorrectly writing Chinese characters to console with Wine mono Product: Wine Version: 1.5.5 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mscoree AssignedTo: wine-bugs@winehq.org ReportedBy: fracting@gmail.com Classification: Unclassified
1. Compile the following sample: --- snip --- using System; using Gtk;
public class GtkHelloWorld {
public static void Main() { Console.WriteLine("abcd1234一二三四五"); }
} --- snip ---
$ mcs -pkg:gtk-sharp-2.0 helloword.cs
$ mcs --version Mono C# compiler version 2.10.5.0
2. install mono210 with an older version of Wine (wine-1.4), or use the builtin wine-mono-0.0.4 with the latest wine (wine-1.5.5)
3. start helloword.exe with wine:
$ wine helloword.exe
Expect result: Outputting "abcd1234一二三四五"
Actual result: Outputting "abcd1234一二三四五奈奈五"
What the worse is, helloword.exe never quit, it fall into a infinite loop of WriteConsoleW()
Additional info:
1. wine-1.4 + `winetricks dotnet20` works well with the above helloword.exe
2. WinXP + dotnet4 works well with the above helloword.exe
3. I can't make it work on WinXP + mono210, always get a "Initial error 0xc0000135"
4. The bug disappear after removing Chinese string from Console.WriteLine()
5. The bug has different behaviors after adding English letters at the end of the string, for example: Console.WriteLine("abcd1234一二三四五a"), the output is: "abcd1234一二三四五a四五a錫a" This time the program will not fall into infinite loop.
6. The bug disappear if I redirect out put to a file: $ wine helloword.exe > hello.txt
7. Bug 10063 is really annoying while using winedbg to tracing this bug...
Regards.