https://bugs.winehq.org/show_bug.cgi?id=53536
Bug ID: 53536 Summary: ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows:
rtl.c:2790: Running test 0 (compressed_size=6, uncompressed_size=4, status=0x00000000) rtl.c:2790: Running test 1 (compressed_size=10, uncompressed_size=8, status=0x00000000) rtl.c:2790: this is the last test seen before the exception 170c:rtl: unhandled exception c0000005 at 005542C0
https://test.winehq.org/data/patterns.html#ntdll:rtl
The crash is specific to the 32-bit build. Strangely the crashes started on 2022-07-26 despite there being no changes to this test or to the test configurations. Also, the crash still happens when testing older Wine versions.
Anyway, the crash still happens even when only keeping these two tests: test_RtlUlonglongByteSwap(); test_RtlDecompressBuffer();
The Windows headers claims that RtlUlonglongByteSwap() is a FASTCALL API but not so in Wine:
winternl.h: NTSYSAPI ULONGLONG __cdecl RtlUlonglongByteSwap(ULONGLONG); rtl.c: static ULONGLONG (WINAPIV *pRtlUlonglongByteSwap)(ULONGLONG source);
Replacing WINAPIV with WINAPI in rtl.c fixes the crash but it's probably not the correct fix.
https://bugs.winehq.org/show_bug.cgi?id=53536
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=53536
--- Comment #1 from François Gouget fgouget@codeweavers.com --- From bug 53685:
The failures started on 2022-07-26 which is when the WineTest builds switched from the old build system to GitLab. A test with winetest-889fe64d9f2e.exe (built on 2022-07-25) confirms that this test still succeeds when using binaries from the old build system.
The 32-bit build crashes on Windows 11 21H2 too.
https://bugs.winehq.org/show_bug.cgi?id=53536
--- Comment #2 from François Gouget fgouget@codeweavers.com --- *** Bug 53685 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=53536
Eric Pouech eric.pouech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech@gmail.com
--- Comment #3 from Eric Pouech eric.pouech@gmail.com --- seems to be fixed by 495711c251bad8d39e13af7addfaccc938a2a670
https://bugs.winehq.org/show_bug.cgi?id=53536
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |495711c251bad8d39e13af7addf | |accc938a2a670 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #4 from François Gouget fgouget@codeweavers.com --- It looks like it is fixed indeed.
https://bugs.winehq.org/show_bug.cgi?id=53536
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.0-rc4.