A couple of tests (ntdll, psapi, dbghelp) were failing when running on Windows 11 platform. These tests were creating a new process out of c:\windows\syswow64\notepad.exe and expecting a wow64 32bit child process. Under Windows 11, notepad has been migrated into the UWP framework and the operation above creates a 64bit process. This series replace all the cases above with msinfo32.exe which still have the properties we expected for such an application.
From: Eric Pouech eric.pouech@gmail.com
Under Windows 11, notepad.exe has been migrated into the UWP framework, and can no longer be launched as a 32bit process: - even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file - the process created from c:\windows\syswow64\notepad.exe is not a wow64 process.
So use msinfo32.exe instead. Like notepad.exe, it's a gui application, present on Wine and all test-bot:ed windows platforms. But unlike notepad.exe, it's not an UWP app on Windows 11.
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/ntdll/tests/wow64.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/tests/wow64.c b/dlls/ntdll/tests/wow64.c index b8f28f6215c..08660b608b4 100644 --- a/dlls/ntdll/tests/wow64.c +++ b/dlls/ntdll/tests/wow64.c @@ -244,7 +244,7 @@ static void test_peb_teb(void)
Wow64DisableWow64FsRedirection( &redir );
- if (CreateProcessA( "C:\windows\syswow64\notepad.exe", NULL, NULL, NULL, + if (CreateProcessA( "C:\windows\syswow64\msinfo32.exe", NULL, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi )) { memset( &info, 0xcc, sizeof(info) ); @@ -344,7 +344,7 @@ static void test_peb_teb(void) CloseHandle( pi.hThread ); }
- if (CreateProcessA( "C:\windows\system32\notepad.exe", NULL, NULL, NULL, + if (CreateProcessA( "C:\windows\system32\msinfo32.exe", NULL, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi )) { memset( &info, 0xcc, sizeof(info) );
From: Eric Pouech eric.pouech@gmail.com
Under Windows 11, notepad.exe has been migrated into the UWP framework, and can no longer be launched as a 32bit process: - even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file - the process created from c:\windows\syswow64\notepad.exe is not a wow64 process.
So use msinfo32.exe instead. Like notepad.exe, it's a gui application, present on Wine and all test-bot:ed windows platforms. But unlike notepad.exe, it's not an UWP app on Windows 11.
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/ntdll/tests/exception.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index 94b2ccf61a6..fc84f53da7c 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -8069,7 +8069,7 @@ static void test_debug_registers(void)
static void test_debug_registers_wow64(void) { - char cmdline[] = "C:\windows\syswow64\notepad.exe"; + char cmdline[] = "C:\windows\syswow64\msinfo32.exe"; PROCESS_INFORMATION pi; STARTUPINFOA si = {0}; WOW64_CONTEXT wow64_ctx;
From: Eric Pouech eric.pouech@gmail.com
Under Windows 11, notepad.exe has been migrated into the UWP framework, and can no longer be launched as a 32bit process: - even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file - the process created from c:\windows\syswow64\notepad.exe is not a wow64 process.
So use msinfo32.exe instead. Like notepad.exe, it's a gui application, present on Wine and all test-bot:ed windows platforms. But unlike notepad.exe, it's not an UWP app on Windows 11.
(May not fix all the issues in the following bug list, but will remove a lot of errors).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54504 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54505 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54506 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54507 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54508 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54509
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/psapi/tests/psapi_main.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c index 227fc52c2ad..860598c39c5 100644 --- a/dlls/psapi/tests/psapi_main.c +++ b/dlls/psapi/tests/psapi_main.c @@ -76,7 +76,7 @@ static void test_EnumProcesses(void)
static void test_EnumProcessModules(void) { - char buffer[200] = "C:\windows\system32\notepad.exe"; + char buffer[200] = "C:\windows\system32\msinfo32.exe"; PROCESS_INFORMATION pi = {0}; STARTUPINFOA si = {0}; void *cookie; @@ -143,7 +143,7 @@ static void test_EnumProcessModules(void) char name[40]; HMODULE hmods[3];
- strcpy(buffer, "C:\windows\syswow64\notepad.exe"); + strcpy(buffer, "C:\windows\syswow64\msinfo32.exe"); ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); if (ret) { @@ -160,7 +160,7 @@ static void test_EnumProcessModules(void)
ret = GetModuleBaseNameA(pi.hProcess, hmods[0], name, sizeof(name)); ok(ret, "got error %lu\n", GetLastError()); - ok(!strcmp(name, "notepad.exe"), "got %s\n", name); + ok(!strcmp(name, "msinfo32.exe"), "got %s\n", name);
ret = GetModuleFileNameExA(pi.hProcess, hmods[0], name, sizeof(name)); ok(ret, "got error %lu\n", GetLastError()); @@ -341,7 +341,7 @@ static unsigned int snapshot_count_in_dir(const struct moduleex_snapshot* snap,
static void test_EnumProcessModulesEx(void) { - char buffer[200] = "C:\windows\system32\notepad.exe"; + char buffer[200] = "C:\windows\system32\msinfo32.exe"; PROCESS_INFORMATION pi = {0}; STARTUPINFOA si = {0}; void *cookie; @@ -449,9 +449,9 @@ static void test_EnumProcessModulesEx(void)
ok(snapshot_is_subset(&snap[0], &snap[2]), "32bit and default module lists should match\n"); ok(snapshot_is_subset(&snap[2], &snap[3]), "default and all module lists should match\n"); - snapshot_check_first_main_module(&snap[0], pi.hProcess, "c:\windows\syswow64\notepad.exe"); - snapshot_check_first_main_module(&snap[2], pi.hProcess, "c:\windows\syswow64\notepad.exe"); - snapshot_check_first_main_module(&snap[3], pi.hProcess, "c:\windows\syswow64\notepad.exe"); + snapshot_check_first_main_module(&snap[0], pi.hProcess, "c:\windows\syswow64\msinfo32.exe"); + snapshot_check_first_main_module(&snap[2], pi.hProcess, "c:\windows\syswow64\msinfo32.exe"); + snapshot_check_first_main_module(&snap[3], pi.hProcess, "c:\windows\syswow64\msinfo32.exe"); winetest_pop_context(); }
@@ -461,7 +461,7 @@ static void test_EnumProcessModulesEx(void) { unsigned int count;
- strcpy(buffer, "C:\windows\syswow64\notepad.exe"); + strcpy(buffer, "C:\windows\syswow64\msinfo32.exe"); ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); if (ret) { @@ -492,7 +492,7 @@ static void test_EnumProcessModulesEx(void) ok(ret, "GetSystemWow64DirectoryA failed: %lu\n", GetLastError()); count = snapshot_count_in_dir(snap, pi.hProcess, buffer); todo_wine - ok(count <= 1, "Wrong count %u in %s\n", count, buffer); /* notepad can be from system wow64 */ + ok(count <= 1, "Wrong count %u in %s\n", count, buffer); /* msinfo32 can be from system wow64 */ ret = GetSystemDirectoryA(buffer, sizeof(buffer)); ok(ret, "GetSystemDirectoryA failed: %lu\n", GetLastError()); count = snapshot_count_in_dir(snap, pi.hProcess, buffer);
From: Eric Pouech eric.pouech@gmail.com
Under Windows 11, notepad.exe has been migrated into the UWP framework, and can no longer be launched as a 32bit process: - even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file - the process created from c:\windows\syswow64\notepad.exe is not a wow64 process.
So use msinfo32.exe instead. Like notepad.exe, it's a gui application, present on Wine and all test-bot:ed windows platforms. But unlike notepad.exe, it's not an UWP app on Windows 11.
(May not fully fix all the bugs below, but will get rid of a bunch of errors).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54535 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54536 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54537
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/dbghelp/tests/dbghelp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/tests/dbghelp.c b/dlls/dbghelp/tests/dbghelp.c index 5a1e6121931..b3dda215d09 100644 --- a/dlls/dbghelp/tests/dbghelp.c +++ b/dlls/dbghelp/tests/dbghelp.c @@ -331,7 +331,7 @@ static BOOL test_modules(void) ok(ret, "SymInitialize failed: %lu\n", GetLastError());
GetSystemWow64DirectoryA(file_wow64, MAX_PATH); - strcat(file_wow64, "\notepad.exe"); + strcat(file_wow64, "\msinfo32.exe");
/* not always present */ machine_wow = get_module_machine(file_wow64); @@ -347,7 +347,7 @@ static BOOL test_modules(void) }
GetSystemDirectoryA(file_system, MAX_PATH); - strcat(file_system, "\notepad.exe"); + strcat(file_system, "\msinfo32.exe");
base = SymLoadModule(GetCurrentProcess(), NULL, file_system, NULL, base1, 0); ok(base == base1, "SymLoadModule failed: %lu\n", GetLastError()); @@ -585,7 +585,7 @@ static void test_loaded_modules(void)
ret = GetSystemDirectoryA(buffer, sizeof(buffer)); ok(ret, "got error %lu\n", GetLastError()); - strcat(buffer, "\notepad.exe"); + strcat(buffer, "\msinfo32.exe");
/* testing with child process of different machines */ ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); @@ -633,7 +633,7 @@ static void test_loaded_modules(void) { ret = GetSystemWow64DirectoryA(buffer, sizeof(buffer)); ok(ret, "got error %lu\n", GetLastError()); - strcat(buffer, "\notepad.exe"); + strcat(buffer, "\msinfo32.exe");
SymSetOptions(SymGetOptions() & ~SYMOPT_INCLUDE_32BIT_MODULES);
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=129813
Your paranoid android.
=== w10pro64_ja (64 bit report) ===
dbghelp: dbghelp.c:603: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:607: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:609: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:611: Test failed: Wrong directory aggregation count 0 0
=== w10pro64_zh_CN (64 bit report) ===
dbghelp: dbghelp.c:603: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:607: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:609: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:611: Test failed: Wrong directory aggregation count 0 0
=== w11pro64_amd (64 bit report) ===
dbghelp: dbghelp.c:690: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:692: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:695: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:698: Test failed: Wrong directory aggregation count 0 0
=== w11pro64 (32 bit report) ===
ntdll: exception.c:9623: Test failed: Got unexpected p CD64C69C, flags 0x100001. exception.c:9626: Test failed: Got unexpected p CD64C69C, length 0xcccccccc, flags 0x100001.
=== w11pro64_amd (64 bit report) ===
ntdll: exception.c:2133: Test failed: 0/8: wrong frame 00000000009DF598/00000000009DF480 exception.c:2133: Test failed: 0/9: wrong frame 00000000009DF478/00000000009DF480 exception.c:2133: Test failed: 0/10: wrong frame 00000000009DF470/00000000009DF480 exception.c:4871: Test failed: Got unexpected frame 00000000009DFC20. exception.c:9623: Test failed: Got unexpected p FFFFFFFFCD6ABCDC, flags 0x100001. exception.c:9626: Test failed: Got unexpected p FFFFFFFFCD6ABCDC, length 0xcccccccc, flags 0x100001.
=== w864 (32 bit report) ===
psapi: psapi_main.c:250: Test failed: pcs-3232: 1: image size was 0
On Tue Feb 21 17:04:58 2023 +0000, **** wrote:
Marvin replied on the mailing list:
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details: The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=129813 Your paranoid android. === w10pro64_ja (64 bit report) === dbghelp: dbghelp.c:603: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:607: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:609: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:611: Test failed: Wrong directory aggregation count 0 0 === w10pro64_zh_CN (64 bit report) === dbghelp: dbghelp.c:603: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:607: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:609: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:611: Test failed: Wrong directory aggregation count 0 0 === w11pro64_amd (64 bit report) === dbghelp: dbghelp.c:690: Test failed: EnumerateLoadedModulesW64 failed: 3221225476 dbghelp.c:692: Test failed: Wrong bitness aggregation count 0 0 dbghelp.c:695: Test failed: Wrong kind aggregation count 0 0 dbghelp.c:698: Test failed: Wrong directory aggregation count 0 0 === w11pro64 (32 bit report) === ntdll: exception.c:9623: Test failed: Got unexpected p CD64C69C, flags 0x100001. exception.c:9626: Test failed: Got unexpected p CD64C69C, length 0xcccccccc, flags 0x100001. === w11pro64_amd (64 bit report) === ntdll: exception.c:2133: Test failed: 0/8: wrong frame 00000000009DF598/00000000009DF480 exception.c:2133: Test failed: 0/9: wrong frame 00000000009DF478/00000000009DF480 exception.c:2133: Test failed: 0/10: wrong frame 00000000009DF470/00000000009DF480 exception.c:4871: Test failed: Got unexpected frame 00000000009DFC20. exception.c:9623: Test failed: Got unexpected p FFFFFFFFCD6ABCDC, flags 0x100001. exception.c:9626: Test failed: Got unexpected p FFFFFFFFCD6ABCDC, length 0xcccccccc, flags 0x100001. === w864 (32 bit report) === psapi: psapi_main.c:250: Test failed: pcs-3232: 1: image size was 0
the failures above should have been fixed by other fixes see rerunning this serie on testbot https://testbot.winehq.org/JobDetails.pl?Key=130330
On Wed Mar 8 16:43:09 2023 +0000, eric pouech wrote:
the failures above should have been fixed by other fixes see rerunning this serie on testbot https://testbot.winehq.org/JobDetails.pl?Key=130330
(I mean the dbghelp's failure; the ntdll & psapi are not related)