[Bug 50189] Multiple 64-bit applications crash with Wine MinGW PE build due to violation of Windows 64-bit ABI (RSP must be 16-byte aligned when making a call to Win64 API)
WineHQ Bugzilla
wine-bugs at winehq.org
Fri Nov 27 07:29:08 CST 2020
https://bugs.winehq.org/show_bug.cgi?id=50189
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Fixed by SHA1| |5a0c9270b1225da86782bffd9eb
| |798a39723d70f
--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
this is fixed by commit
https://source.winehq.org/git/wine.git/commitdiff/5a0c9270b1225da86782bffd9eb798a39723d70f
("include: Force aligning stack pointer also for Mingw builds.").
Thanks Alexandre
--- snip ---
$ wine net start hardlock
...
The hardlock service is starting.
00e0:fixme:ntoskrnl:IoGetConfigurationInformation partial stub
00e0:fixme:ntoskrnl:IoRegisterPlugPlayNotification (2 1 0000000000D9B3D0
00000000000197A0 0000000000DAADD0 000000000001A590 0000000000DA1788) stub
00e0:fixme:ntoskrnl:IoRegisterPlugPlayNotification (2 1 0000000000D9B3B0
00000000000197A0 0000000000DAAEC0 000000000001A590 0000000000DA1790) stub
00e0:fixme:ntoskrnl:IoRegisterPlugPlayNotification (2 1 0000000000D9B830
00000000000197A0 0000000000D9A430 000000000001A590 0000000000DA19A0) stub
The hardlock service was started successfully.
--- snip ---
Stack align on 16-byte boundary with Wine MinGW PE build:
<ntoskrnl.MmIsAddressValid>
--- snip ---
0000000180013CD0 | push rbp
0000000180013CD1 | push rsi
0000000180013CD2 | sub rsp,28
0000000180013CD6 | lea rbp,qword ptr ss:[rsp+20]
0000000180013CDB | and rsp,FFFFFFFFFFFFFFF0
0000000180013CDF | mov rsi,rcx
0000000180013CE2 | test byte ptr ds:[<__wine_dbch_ntoskrnl>],8
0000000180013CE9 | je ntoskrnl.180013D0F
0000000180013CEB | mov qword ptr ss:[rsp+20],rsi
0000000180013CF0 | lea rdx,qword ptr ds:[<__wine_dbch_ntoskrnl>]
0000000180013CF7 | lea r8,qword ptr ds:[180025230]
0000000180013CFE | lea r9,qword ptr ds:[18002483A]
0000000180013D05 | mov ecx,3
0000000180013D0A | call <ntoskrnl.wine_dbg_log>
0000000180013D0F | mov edx,1
0000000180013D14 | mov rcx,rsi
0000000180013D17 | call qword ptr ds:[<&IsBadReadPtr>]
0000000180013D1D | test eax,eax
0000000180013D1F | sete al
0000000180013D22 | lea rsp,qword ptr ss:[rbp+8]
0000000180013D26 | pop rsi
0000000180013D27 | pop rbp
0000000180013D28 | ret
--- snip ---
--- snip ---
000000007B62C0D0 | push rbp
000000007B62C0D1 | push r15
000000007B62C0D3 | push r14
000000007B62C0D5 | push rsi
000000007B62C0D6 | push rdi
000000007B62C0D7 | push rbx
000000007B62C0D8 | sub rsp,168
000000007B62C0DF | lea rbp,qword ptr ss:[rsp+80]
000000007B62C0E7 | and rsp,FFFFFFFFFFFFFFF0
000000007B62C0EB | xor r14d,r14d
000000007B62C0EE | test rdx,rdx
000000007B62C0F1 | je kernel32.7B62C1BF
000000007B62C0F7 | mov rsi,rcx
000000007B62C0FA | mov r15d,1
000000007B62C100 | test rcx,rcx
000000007B62C103 | je kernel32.7B62C159
000000007B62C105 | mov rdi,rdx
000000007B62C108 | lea rax,qword ptr ds:[<__wine_exception_handler>]
000000007B62C10F | mov qword ptr ss:[rsp+38],rax
000000007B62C114 | lea rax,qword ptr ds:[<badptr_handler>]
000000007B62C11B | mov qword ptr ss:[rsp+40],rax
000000007B62C120 | lea rcx,qword ptr ss:[rsp+50]
000000007B62C125 | lea rbx,qword ptr ss:[rsp+30]
000000007B62C12A | mov rdx,rbx
000000007B62C12D | call <kernel32.__wine_setjmpex>
...
--- snip ---
$ wine --version
wine-5.22-153-g9faa5eeddd2
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