[Bug 53536] New: ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows

WineHQ Bugzilla wine-bugs at winehq.org
Tue Aug 9 08:24:20 CDT 2022


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 at winehq.org
          Reporter: fgouget at 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.

-- 
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.



More information about the wine-bugs mailing list