[Bug 39240] New: advapi32:service fails in some non-English locales
https://bugs.winehq.org/show_bug.cgi?id=39240 Bug ID: 39240 Summary: advapi32:service fails in some non-English locales Product: Wine Version: unspecified Hardware: x86 OS: Windows Status: NEW Severity: normal Priority: P2 Component: advapi32 Assignee: wine-bugs(a)winehq.org Reporter: fgouget(a)codeweavers.com The following test failures happen specifically in some non-English locales: service.c:382: Test failed: Expected failure service.c:383: Test failed: Expected ERROR_DUPLICATE_SERVICE_NAME, got 0 service.c:397: Test failed: Could not create the service : 1073 service.c:403: Test failed: Expected ERROR_ACCESS_DENIED, got 6 service.c:682: Test failed: Could not create the service : 1072 service.c:881: Test failed: Expected Spooler, got Winetest service.c:1829: Test failed: Could not create the service : 1072 service.c:2015: Test failed: Could not create the service : 1072 service.c:2313: Test failed: Could not create the service: 1072 service.c:2381: Test failed: Expected success, got error 1072 service.c:2405: Test failed: Expected success (err=1072) service.c:2427: Test failed: Expected success (err=6) service.c:2438: Test failed: Expected success, got error 1072 service.c:2442: Test failed: Expected success (err=6) In particular they can be seen o the following WineTest boxes: fg-win7u64-1spie9-fr - Windows 7 Ultimate configured for a French locale fg-win7u64-1spie9-mx - Windows 7 Ultimate configured with a mix of locales (to help figure out exactly which Windows locale setting a test depends on) pelzflowin81pronvid - Windows 8.1 in a German locale Note however that it works fine in other locales such as Hebrew (fg-win7u64-1spie9-he), Japanese (fg-win7u64-1spie9-ja and newtb-w7u) and Korean (fg-win7u64-1spie9-ko). This tests regression was introduced by the following commit: commit f8ea5a73ce799ae7a8b8e3d9d5ae9d28511c1d8b Author: Paul Vriens <paul.vriens.wine(a)gmail.com> Date: Tue Jul 17 22:06:51 2007 +0200 advapi32/service: Test for duplicate displayname. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35765 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 --- Comment #1 from François Gouget <fgouget(a)codeweavers.com> --- I have investigated this a bit on the French and Spanish locales of my Windows 7 Ultimate VM. There are really two failures that cause all the others: * On line ~382 in test_create_delete_svc() ret = GetServiceDisplayNameA(scm_handle, spooler, display, &display_size); ... svc_handle1 = CreateServiceA(scm_handle, servicename, display, 0, SERVICE_WIN32_OWN_PROCESS, SERVICE_DISABLED, 0, pathname, NULL, NULL, NULL, NULL, NULL); * On line ~872 in test_get_servicekeyname() GetServiceDisplayNameA(scm_handle, spooler, displayname, &displaysize); ... ret = GetServiceKeyNameA(scm_handle, displayname, NULL, &servicesize); In both cases we query the display name and try to use that to create or query a service. The thing is that the returned display name depends on the locale: * English : Print Spooler * Japanese : Print Spooler * French : Spouleur dimpression (there's a weird apostrophe in there) * Spanish : Cola de impresión * German : Druckwarteschlange Modifying the test to use the unlocalized string, "Print Spooler", fixes it. I suspect that in most locales, such as Japanese, they did not bother localizing that string, hence why the test works in most locales. There also the fact that Windows 7 Ultimate can be configured for any locale. For instance in the registry the DisplayName key for the Spooler service is set to: @%systemroot%\system32\spoolsv.exe,-1 In older Windows versions the localization was often hardcoded. So for instance it's possible that in a German Windows XP using "Druckwarteschlange" would work. However I don't have access to such a configuration. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 --- Comment #2 from François Gouget <fgouget(a)codeweavers.com> --- Actually I do have access to a French Windows XP machine: fgtb-fgtbwinxp. advapi32:service succeeds on that machine despite the display name being "Spouleur d'impression" for these tests. Interestingly the DisplayName value in HKLM\SYSTEM\CurrentControlSet\Services\Spooler matches the above value, meaning it's not using MUI (which I believe is only supported in Vista+ in this case), which is probably why those tests succeed. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #3 from François Gouget <fgouget(a)codeweavers.com> --- These failures disappeared with the switch to Windows 10 21H1. The translations in the TestBot's Windows 10 2004 configuration look like they were incomplete which may have been the cause for these failures. In any case it is working now so I am marking this bug as resolved. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39240 Ken Sharp <imwellcushtymelike(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #4 from Ken Sharp <imwellcushtymelike(a)gmail.com> --- Closing bugs marked workforme in 2021. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla