[Bug 37213] 64-bit EEP-X / EEP 10 Eisenbahn.exe (train simulator) crashes on startup (violation of the Windows 64-bit ABI, stack pointer (RSP) must be 16-byte aligned when making a call to Win64 API)
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Sep 1 04:06:19 CDT 2014
https://bugs.winehq.org/show_bug.cgi?id=37213
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |win64
Status|UNCONFIRMED |RESOLVED
CC| |focht at gmx.net
Resolution|--- |DUPLICATE
Summary|[EEP10] Crashing at program |64-bit EEP-X / EEP 10
|start |Eisenbahn.exe (train
| |simulator) crashes on
| |startup (violation of the
| |Windows 64-bit ABI, stack
| |pointer (RSP) must be
| |16-byte aligned when making
| |a call to Win64 API)
--- Comment #3 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
the 64-bit app is broken, dupe of bug 27680
Even without trace log or app disassembly it's pretty obvious to me.
Disassembly of 64-bit Wine 'GetSystemDirectoryA' entry on my system:
--- snip ---
$ wine64 winedbg --gdb notepad
0022:0023: create process 'C:\windows\system32\notepad.exe'/0x10980
@0x7f9bc46635ec (0<0>)
...
0022:0023: loads DLL C:\windows\system32\KERNEL32.dll @0x7b820000 (0<0>)
0022:0023: loads DLL C:\windows\system32\ntdll.dll @0x7f9bcafe0000 (0<0>)
0022:0023: loads DLL C:\windows\system32\advapi32.dll @0x7f9bc3260000 (0<0>)
0022:0023: loads DLL C:\windows\system32\gdi32.dll @0x7f9bc34f0000 (0<0>)
0022:0023: loads DLL C:\windows\system32\version.dll @0x7f9bc3040000 (0<0>)
0022:0023: loads DLL C:\windows\system32\user32.dll @0x7f9bc3880000 (0<0>)
0022:0023: loads DLL C:\windows\system32\shlwapi.dll @0x7f9bc3c40000 (0<0>)
0022:0023: loads DLL C:\windows\system32\shell32.dll @0x7f9bc3ee0000 (0<0>)
0022:0023: loads DLL C:\windows\system32\comctl32.dll @0x7f9bc2d10000 (0<0>)
0022:0023: loads DLL C:\windows\system32\winspool.drv @0x7f9bc2ac0000 (0<0>)
0022:0023: loads DLL C:\windows\system32\comdlg32.dll @0x7f9bc4350000 (0<0>)
0022:0023: loads DLL C:\windows\system32\msvcrt.dll @0x7f9bc2800000 (0<0>)
0022:0023: loads DLL C:\windows\system32\winex11.drv @0x7f9bc2500000 (0<0>)
0022:0023: loads DLL C:\windows\system32\uxtheme.dll @0x7f9bc22b0000 (0<0>)
00000022:00000023: exception code=0x80000003
0x00007f9bcb06bc15 in DbgBreakPoint () at
/home/focht/projects/wine/wine.repo/src/dlls/ntdll/signal_x86_64.c:3416
3416 }
trace: 98 => 80
...
Wine-gdb> disas GetSystemDirectoryA
Dump of assembler code for function GetSystemDirectoryA:
0x000000007b879994 <+0>: push %rbp
0x000000007b879995 <+1>: mov %rsp,%rbp
0x000000007b879998 <+4>: push %rdi
0x000000007b879999 <+5>: push %rsi
0x000000007b87999a <+6>: sub $0xa0,%rsp
0x000000007b8799a1 <+13>: movaps %xmm6,(%rsp) ; must be 16-byte aligned
0x000000007b8799a5 <+17>: movaps %xmm7,0x10(%rsp)
0x000000007b8799aa <+22>: movaps %xmm8,0x20(%rsp)
0x000000007b8799b0 <+28>: movaps %xmm9,-0x80(%rbp)
0x000000007b8799b5 <+33>: movaps %xmm10,-0x70(%rbp)
0x000000007b8799ba <+38>: movaps %xmm11,-0x60(%rbp)
0x000000007b8799bf <+43>: movaps %xmm12,-0x50(%rbp)
0x000000007b8799c4 <+48>: movaps %xmm13,-0x40(%rbp)
0x000000007b8799c9 <+53>: movaps %xmm14,-0x30(%rbp)
0x000000007b8799ce <+58>: movaps %xmm15,-0x20(%rbp)
0x000000007b8799d3 <+63>: mov %rcx,0x10(%rbp)
0x000000007b8799d7 <+67>: mov %edx,0x18(%rbp)
0x000000007b8799da <+70>: mov 0x40c947(%rip),%rax # <DIR_System>
0x000000007b8799e1 <+77>: mov 0x18(%rbp),%edx
0x000000007b8799e4 <+80>: mov 0x10(%rbp),%rsi
0x000000007b8799e8 <+84>: mov %rax,%rdi
0x000000007b8799eb <+87>: callq 0x7b8741b3 <copy_filename_WtoA>
--- snip ---
RSP from your backtrace fault context = 0x51fc68 -> not 16-byte aligned for SSE
instructions.
Calculating the original RSP backwards up to caller:
0x51fc68 + 0xA0 (buffer) + 8 (rsi) + 8 (rdi) + 8 (rbp) + 8 (rip, ret_addr) =
0x51fd28
At time of performing the call instruction the stack has to be 16-byte aligned!
Regards
*** This bug has been marked as a duplicate of bug 27680 ***
--
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