[Bug 44619] New: Multiple 64-bit applications need various Win7+ user-mode scheduling (UMS ) API stubs (x64dbg, ACDSee Pro 9.0)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Feb 26 16:03:22 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=44619

            Bug ID: 44619
           Summary: Multiple 64-bit applications need various Win7+
                    user-mode scheduling (UMS) API stubs (x64dbg, ACDSee
                    Pro 9.0)
           Product: Wine
           Version: 3.2
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: kernel32
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

continuation of bug 43351

To work around several 'msvcr120'/'msvcp120' insufficiencies (covered by other
bug reports), both must be still set to 'native' (app provides the runtime
itself in install directory). The UMS API is actually pulled in by native
'msvcr120' - the 'purist' mode is unusable.

A Wine-Staging patchset exists:

https://github.com/wine-staging/wine-staging/blob/master/patches/kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch

Dmitry says:

--- quote ---
64-bit ACDSee Pro 9.0 on start up queries them with GetProcAddress() and
fails to start if any of these APIs is missing.
--- quote ---

So there is another app requiring these API.

--- snip ---
$ WINEDEBUG=+seh,+relay wine ./x64dbg.exe >>log.txt 2>&1
...
002b:Call KERNEL32.GetModuleHandleW(003b1020 L"kernel32.dll",) ret=00310ab5
002b:Ret  KERNEL32.GetModuleHandleW() retval=7b460000 ret=00310ab5
002b:Call KERNEL32.GetProcAddress(7b460000,003b1dd8 "CreateRemoteThreadEx",)
ret=00310ac5
002b:Ret  KERNEL32.GetProcAddress() retval=7b46c988 ret=00310ac5
002b:Call KERNEL32.GetModuleHandleW(003b1020 L"kernel32.dll",) ret=00310aeb
002b:Ret  KERNEL32.GetModuleHandleW() retval=7b460000 ret=00310aeb
002b:Call KERNEL32.GetProcAddress(7b460000,003b1df0 "CreateUmsCompletionList",)
ret=00310afb
002b:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=00310afb
002b:Call KERNEL32.GetLastError() ret=00310e8e
002b:Ret  KERNEL32.GetLastError() retval=0000007f ret=00310e8e
002b:Call ntdll.RtlPcToFileHeader(003bd4b8,0023e370,) ret=0034ee94
002b:Ret  ntdll.RtlPcToFileHeader() retval=002f0000 ret=0034ee94
002b:Call KERNEL32.RaiseException(e06d7363,00000001,00000004,0023e340,)
ret=0034eed3
002b:trace:seh:NtRaiseException code=e06d7363 flags=1 addr=0x7b490ac8
ip=7b490ac8 tid=002b
002b:trace:seh:NtRaiseException  info[0]=0000000019930520
002b:trace:seh:NtRaiseException  info[1]=000000000023e4b0
002b:trace:seh:NtRaiseException  info[2]=00000000003bd4b8
002b:trace:seh:NtRaiseException  info[3]=00000000002f0000
002b:trace:seh:NtRaiseException  rax=000000007b473408 rbx=00000000003bd4b8
rcx=000000000023e130 rdx=0000000000000020
002b:trace:seh:NtRaiseException  rsi=000000000023e340 rdi=000000000023e150
rbp=000000000023e280 rsp=000000000023e110
002b:trace:seh:NtRaiseException   r8=0000000000000004  r9=000000000023e340
r10=0000000000000000 r11=0000000000000000
002b:trace:seh:NtRaiseException  r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000 
...
--- snip ---

https://sourceforge.net/projects/x64dbg/files/snapshots/snapshot_2017-07-03_12-03.zip/download

Imports from 'msvcr120':

* CreateUmsCompletionList
* CreateUmsThreadContext
* DeleteProcThreadAttributeList
* DeleteUmsCompletionList
* DeleteUmsThreadContext
* DequeueUmsCompletionListItems
* EnterUmsSchedulingMode
* ExecuteUmsThread
* GetCurrentUmsThread
* GetNextUmsListItem
* GetUmsCompletionListEvent
* InitializeProcThreadAttributeList
* QueryUmsThreadInformation
* SetUmsThreadInformation
* UmsThreadYield
* UpdateProcThreadAttribute

I didn't check how many of these are really needed as pure stubs, semi-stubs,
functional.

$ sha1sum snapshot_2018-01-28_12-18.zip 
8ff850f135ff1f3e185c1fd3e1fb2c4de661bd06  snapshot_2018-01-28_12-18.zip

$ du -sh snapshot_2018-01-28_12-18.zip 
33M    snapshot_2018-01-28_12-18.zip

$ wine --version
wine-3.2-206-g9ae8b8c00f

Regards

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