https://bugs.winehq.org/show_bug.cgi?id=51185
Bug ID: 51185 Summary: Windows fails to load the minimal PE image in kenel32:loader Product: Wine Version: 6.8 Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
test_Loader() claims that Windows 7 is able to load this minimal PE image:
/* Minimal PE image that Windows7 is able to load: 268 bytes */ { 0x04, 0, 0xf0, /* optional header size just forces 0xf0 bytes to be written, 0 or another number don't change the behaviour, what really matters is file size regardless of values in the headers */ 0x04 /* also serves as e_lfanew in the truncated MZ header */, 0x04, 0x40, /* minimal image size that Windows7 accepts */ 0, { ERROR_SUCCESS } },
But in fact this fails on all Windows version from Windows 7 to Windows 10 20H2... except in the early Windows 10 versions (1507 to 1809):
https://test.winehq.org/data/patterns.html#kernel32:loader
loader.c:1140: Test failed: 16: unexpected error 193
The failing test was introduced by this commit:
commit 1a7dd7cdbe184ff3fdf2781e9a2222872bacee2c Author: Dmitry Timoshkov dmitry@baikal.ru AuthorDate: Wed May 6 15:16:01 2020 +0800 Commit: Alexandre Julliard julliard@winehq.org CommitDate: Fri May 15 11:42:28 2020 +0200
kernel32/tests: Add a PE test image that resembles format of some of 8k demos.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=51185
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |1a7dd7cdbe184ff3fdf2781e9a2 | |222872bacee2c Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=51185
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1|1a7dd7cdbe184ff3fdf2781e9a2 | |222872bacee2c |
--- Comment #1 from Dmitry Timoshkov dmitry@baikal.ru --- If this worked before and was broken by a Windows update that doesn't qualify as a regression.
https://bugs.winehq.org/show_bug.cgi?id=51185
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Actually I got the wrong commit. This is the one that introduces the failure:
commit 38649f2060f3435ec54bf370dc23879e53d6f07e Author: Dmitry Timoshkov dmitry@baikal.ru Date: Mon Jul 13 14:17:32 2015 +0800
kernel32/tests: Add a loader test using minimal PE image that Windows7 is able to load.
https://bugs.winehq.org/show_bug.cgi?id=51185
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Windows fails to load the |Windows fails to load the |minimal PE image in |minimal PE image in |kenel32:loader |kernel32:loader
https://bugs.winehq.org/show_bug.cgi?id=51185
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |fgouget@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=51185
--- Comment #3 from François Gouget fgouget@codeweavers.com --- Some more details on the Windows versions where this test fails: * All Windows 10 >= 1809 (w1064, 10pro64, cw-gtx560, cw-rx460, fgtb-w10pro64; both 32- and 64-bit). * Windows 8.1 cw-rx460 but, surprisingly, not cw-gtx560, w8 or w864. * w7u which is the TestBot's only 32-bit Windows 7 machine; but not w7pro64 or my w7u-64 VMware VM. I also tested this on pre-SP1 snapshots and it did not make any difference.
And this test does not fail on: * Windows 2008 (w2008s64). * Windows Vista (wvista, wvistau64). * And the test cannot run on Windows XP (missing kernel32.dll API), and presumably older versions.
https://bugs.winehq.org/show_bug.cgi?id=51185
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |542dc085c91c249ca5694730295 | |78f4ed0d38537 Status|NEW |RESOLVED
--- Comment #4 from François Gouget fgouget@codeweavers.com --- This is fixed:
commit 542dc085c91c249ca569473029578f4ed0d38537 Author: Francois Gouget fgouget@codeweavers.com AuthorDate: Mon Jul 19 14:23:41 2021 +0200
kernel32/tests: Allow failure when loading the 268 bytes minimal PE image.
Windows 10 1809+ rejects this minimal image so allow ERROR_BAD_EXE_FORMAT as a valid result. Also adjust the comment to reflect the range of Windows versions that usually accept this image and note that there are some exceptions which means there are other unidentified factors at play.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51185 Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=51185
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.14.