https://bugs.winehq.org/show_bug.cgi?id=54003
Bug ID: 54003 Summary: vbscript:run sometimes fails on Windows UTF-8 locales Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
vbscript:run sometimes fails on UTF-8 locales:
=== w10pro64_en_AE_u8 (64 bit report) ===
vbscript: run.c:1206: Test failed: api.vbs: L"Err.number = 0" run.c:1206: Test failed: api.vbs: L"Err.description = " run.c:1206: Test failed: api.vbs: L"Err.number = 0"
See https://gitlab.winehq.org/wine/wine/-/merge_requests/1534
Strangely enough so far this has not happened in the nightly WineTest runs but it did happen in another unrelated merge request (MR!1561).
According to Nikolay (probably s/testChrError/testCStrError/):
This is happening on utf-8 locale, in testChrError(). Needs to be fixed, but unrelated to this MR.
https://bugs.winehq.org/show_bug.cgi?id=54003
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=54003
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sloper42@yahoo.com
--- Comment #1 from Robert Wilhelm sloper42@yahoo.com --- This is duplicate of #53998.
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #2 from Robert Wilhelm sloper42@yahoo.com --- test failing is in api.vbs:
sub testChrError on error resume next
if isEnglishLang then call Err.clear() call Chr(-1) call ok(Err.number = 5, "Err.number = " & Err.number)
For en_AE_u8, isEnglishLang is true. But for UTF-8 Chr(-1) is perfectly fine.
Maybe we should add something like isUTF8 to run.c and use it in this test.
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #3 from Robert Wilhelm sloper42@yahoo.com --- *** Bug 53998 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #4 from Robert Wilhelm sloper42@yahoo.com --- Patch went in with https://gitlab.winehq.org/wine/wine/-/commit/6895ad6f9c074904316f1f8936729ef...
Nightly run https://testbot.winehq.org/JobDetails.pl?Key=128521 shows that w10pro64_en_AE_u8 seems to be fixed, but there are new failures in
w10pro64_hi (64 bit) vbscript run.c:1214: Test failed: api.vbs: L"Err.number = 0" run.c:1214: Test failed: api.vbs: L"Err.number = 0"
and
w10pro64_mx_MX (64 bit) vbscript run.c:1214: Test failed: api.vbs: L"Err.number = 5" run.c:1214: Test failed: api.vbs: L"Err.number = 5"
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #5 from François Gouget fgouget@codeweavers.com --- The 6895ad6f9c07 is the cause for the new failures in the hi and mx_MX locales. It turns out the relevant code page is the thread one, not the Windows ANSI code page. I sent a merge request to fix this: https://gitlab.winehq.org/wine/wine/-/merge_requests/2254
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #6 from Robert Wilhelm sloper42@yahoo.com --- Hi François
Thanks for working on this bug. 6895ad6f9c07 is clearly the cause because before we did not run the tests in non english locales at all. Nice catch that here the infamous thread locale must be used.
https://bugs.winehq.org/show_bug.cgi?id=54003
--- Comment #7 from Robert Wilhelm sloper42@yahoo.com --- The MR2254 was merged with https://gitlab.winehq.org/wine/wine/-/commit/15b176b4f4945d7abfb4adbddc7f140...
test.winehq.com shows results for 22.2,23.2 and 24.2:
newtb-w10pro64-hi-u8-64 seems to be fixed, but failure in newtb-w10pro64-mx-MX-64 still remains.
https://bugs.winehq.org/show_bug.cgi?id=54003
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |1d9de16091a048cf37485001bf9 | |f9af9089edadb Resolution|--- |FIXED
--- Comment #8 from François Gouget fgouget@codeweavers.com --- This is finally fixed in all (tested) locale combinations:
commit 1d9de16091a048cf37485001bf9f9af9089edadb Author: François Gouget fgouget@codeweavers.com AuthorDate: Sun Mar 12 20:26:29 2023 +0100
vbscript/tests: Fix the testChrError() tests in the mixed locale case.
VBscript actually uses the default code page of the user default locale which may not be the same as CP_THREAD_ACP. Also for locales that don't have an ANSI code page, such as Hindi, it falls back to UTF-8.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54003
https://bugs.winehq.org/show_bug.cgi?id=54003
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.4.