[Bug 44456] 64-bit Football Manager 2017 crashes due missing 'kernel32.dll ' -> 'kernelbase.dll' load-time dependency (Minwin/Win7+)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Feb 1 17:42:18 CST 2018


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86                         |x86-64
          Component|-unknown                    |kernel32
                 CC|                            |focht at gmx.net
     Ever confirmed|0                           |1
            Summary|Football Manager 2017       |64-bit Football Manager
                   |crashes                     |2017 crashes due missing
                   |                            |'kernel32.dll' ->
                   |                            |'kernelbase.dll' load-time
                   |                            |dependency (Minwin/Win7+)
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

It seems the game is specifically built for Windows 7 or later.

--- snip ---
$ pwd
/home/focht/Downloads/wine64/drive_c/Games/Football Manager 2017

$ file *.{dll,exe}
avutil-ttv-51.dll:         PE32+ executable (DLL) (console) x86-64, for MS
Windows
D3DCompiler_43.dll:        PE32+ executable (DLL) (console) x86-64, for MS
Windows
dbghelp.dll:               PE32+ executable (DLL) (console) x86-64, for MS
Windows
icudt57.dll:               PE32+ executable (DLL) (GUI) x86-64, for MS Windows
icuin57.dll:               PE32+ executable (DLL) (GUI) x86-64, for MS Windows
icuuc57.dll:               PE32+ executable (DLL) (GUI) x86-64, for MS Windows
libmfxsw64.dll:            PE32+ executable (DLL) (GUI) x86-64, for MS Windows
libmp3lame-ttv.dll:        PE32+ executable (DLL) (console) x86-64, for MS
Windows
OpenAL32.dll:              PE32+ executable (DLL) (console) x86-64, for MS
Windows
steam_api64.dll:           PE32+ executable (DLL) (GUI) x86-64, for MS Windows
steamclient64.dll:         PE32+ executable (DLL) (GUI) x86-64, for MS Windows
swresample-ttv-0.dll:      PE32+ executable (DLL) (console) x86-64, for MS
Windows
twitchsdk_x64_release.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows
vpxmt.dll:                 PE32+ executable (DLL) (GUI) x86-64, for MS Windows
fm.exe:                    PE32+ executable (GUI) x86-64, for MS Windows
stp-fm2017.exe:            PE32+ executable (GUI) x86-64, for MS Windows
unins000.exe:              PE32 executable (GUI) Intel 80386, for MS Windows


$ WINEDEBUG=+seh,+relay wine ./stp-fm2017.exe >>log.txt 2>&1
...
0030:Starting process L"C:\\Games\\Football Manager 2017\\stp-fm2017.exe"
(entryproc=0x1400047f0)
0030:Call KERNEL32.GetStartupInfoW(0023fcd0,) ret=140005336
0030:Ret  KERNEL32.GetStartupInfoW() retval=0023fcd0 ret=140005336
0030:Call ntdll.RtlEncodePointer(00000000,) ret=140004b4e
0030:Ret  ntdll.RtlEncodePointer() retval=c565c21f6edfb267 ret=140004b4e
0030:Call ntdll.RtlEncodePointer(1400082a4,) ret=1400082d5
0030:Ret  ntdll.RtlEncodePointer() retval=c565c21e2edf30c3 ret=1400082d5
0030:Call KERNEL32.GetModuleHandleW(140010f60 L"kernel32.dll",) ret=1400053db
0030:Ret  KERNEL32.GetModuleHandleW() retval=7b460000 ret=1400053db 
...
0030:Call KERNEL32.GetModuleHandleW(140015500 L"ntdll.dll",) ret=14012f66b
0030:Ret  KERNEL32.GetModuleHandleW() retval=7bc80000 ret=14012f66b
0030:Call KERNEL32.GetModuleHandleW(140015518 L"kernel32.dll",) ret=140188e27
0030:Ret  KERNEL32.GetModuleHandleW() retval=7b460000 ret=140188e27
0030:Call KERNEL32.GetModuleHandleW(140015538 L"ntdll.dll",) ret=1400bc3dd
0030:Ret  KERNEL32.GetModuleHandleW() retval=7bc80000 ret=1400bc3dd
0030:Call KERNEL32.GetModuleHandleW(140015550 L"kernelbase.dll",) ret=1401eb184
0030:Ret  KERNEL32.GetModuleHandleW() retval=00000000 ret=1401eb184
0030:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x140001a40
ip=140001a40 tid=0030
0030:trace:seh:NtRaiseException  info[0]=0000000000000000
0030:trace:seh:NtRaiseException  info[1]=000000000000003c
0030:trace:seh:NtRaiseException  rax=000000000000003c rbx=e26a418e972198e9
rcx=000000007bdb0279 rdx=0000000140001203
0030:trace:seh:NtRaiseException  rsi=000000014005553f rdi=000000000023e980
rbp=000000000023eb24 rsp=000000000023e980
0030:trace:seh:NtRaiseException   r8=0000000000000009  r9=00000001401eb184
r10=0000000000000000 r11=0000000000000246
0030:trace:seh:NtRaiseException  r12=000000014001c100 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
0030:trace:seh:RtlVirtualUnwind type 1 rip 140001a40 rsp 23e980 
...
--- snip ---

It expects Minwin 'kernelbase.dll' already mapped by 'kernel32.dll' core dll.
Traditional core dlls (except ntdll) forward their calls to Minwin (Minimal
Windows kernel) dlls.

http://windows-now.com/blogs/robert/mark-russinovich-explains-minwin-once-and-for-all.aspx

--- quote ---
As an aside, for those of you wondering, a lot of the MinWin magic happens in
KernelBase.dll. It contains a lot of the functionality that was refactored from
Kernel32.dll, so for compatibility with older programs, they left “forwarders”
in there that pass the calls down to KernelBase.dll as necessary.
--- quote ---

Unfortunately Wine does it the other way around.

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