https://bugs.winehq.org/show_bug.cgi?id=37389
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple 64-bit Java based |64-bit Raptor Chess app |installers crash on startup |v98u3f5 crashes on startup |(64-bit Java 6u21-6u34 JVM |(64-bit Java SE 6 update 24 |with broken mixed mode |JVM violates Windows 64-bit |execution)(64-bit Raptor |ABI, stack pointer (RSP) |Chess app v98u3f5, 64-bit |must be 16-byte aligned |Coverity 6.6) |when making a call to Win64 | |API) URL|https://raptor-chess-interf |https://web.archive.org/web |ace.googlecode.com/files/Ra |/20150911154207/http://rapt |ptor98u3f5_w64.exe |or-chess-interface.googleco | |de.com/files/Raptor98u3f5_w | |64.exe Component|-unknown |ntdll Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
while revisiting / re-analysing old issues I've figured out that this is actually a dupe of bug 27680 ("Multiple 64-bit applications crash on startup (violation of the Windows 64-bit ABI, stack pointer (RSP) must be 16-byte aligned when making a call to Win64 API)").
64-bit Java JRE releases between 6u21..6u34 are affected (broken) and belong to that hall of shame in bug 27680 ;-)
The workaround of using JVM interpreted mode ('-Xint' parameter) just takes a different code path, avoiding the broken code.
---
Stable links to reproduce via Internet Archive:
https://web.archive.org/web/20150911154207/http://raptor-chess-interface.goo...
The installer fails now because the private hosting site for JRE 1.6.0.43 (64-bit) is broken.
Alternative payload snapshot via Internet Archive:
https://web.archive.org/web/20210204205621/https://dev.openclinica.com/oc/so...
More JRE version snapshots from the affected range:
https://web.archive.org/web/20210204211940/http://mirror.thekeelecentre.com/...
To work around Raptor Chess app installer JRE 1.6 requirement:
--- snip --- 002f:Call KERNEL32.lstrcpynA(0040a380,0042db00 "SOFTWARE\JavaSoft\Java Runtime Environment",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0040a380 ret=00405a1f 002f:Call advapi32.RegOpenKeyExA(80000002,0040a380 "SOFTWARE\JavaSoft\Java Runtime Environment",00000000,00020019,0065e648) ret=00402b2e 002f:Ret advapi32.RegOpenKeyExA() retval=00000002 ret=00402b2e 002f:Call KERNEL32.lstrcpynA(0040a780,0042db00 "CurrentVersion",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0040a780 ret=00405a1f 002f:Call KERNEL32.lstrcpynA(0042db00,0042f800 "",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0042db00 ret=00405a1f 002f:Call KERNEL32.lstrlenA(0042db00 "") ret=00405c32 002f:Ret KERNEL32.lstrlenA() retval=00000000 ret=00405c32 002f:Call KERNEL32.lstrcpynA(0040a380,0042db00 "",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0040a380 ret=00405a1f 002f:Call KERNEL32.lstrcpynA(0040a780,0042db00 "1.6",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0040a780 ret=00405a1f 002f:Call KERNEL32.lstrcmpiA(0040a380 "",0040a780 "1.6") ret=004019d2 002f:Ret KERNEL32.lstrcmpiA() retval=ffffffff ret=004019d2 002f:Call KERNEL32.lstrcpynA(0040a780,0042db00 "Raptor uses Java 1.6, it will now be downloaded and installed",00000400) ret=00405a1f 002f:Ret KERNEL32.lstrcpynA() retval=0040a780 ret=00405a1f 002f:Call user32.MessageBoxIndirectA(004091d8) ret=0040532e --- snip ---
Install one of the broken 64-bit JRE releases and add the registry key as follows prior running the installer:
--- snip --- $ wine reg add "HKLM\Software\JavaSoft\Java Runtime Environment" \ /v CurrentVersion /d "1.6" /f --- snip ---
From my comment #2, to reproduce:
--- snip --- $ pwd /home/focht/wine64/drive_c/Program Files (x86)/Raptor
$ wine "c:\program files\Java\jre6\bin\java.exe" \ -verbose:jni -verbose:class -Xcheck:jni \ -jar "C:\Program Files (x86)\Raptor\updater.jar" --- snip ---
It was fixed by commit https://source.winehq.org/git/wine.git/commitdiff/dccb57dfd9c668eff5e672def9... ("include: Force stack alignment on x86_64.").
I will keep two custom Wine builds to quickly test for broken 64-bit apps if I still find some of those.
Wine build before the workaround for broken win64 apps:
$ wine --version wine-1.9.2-133-g71f018cba51
Wine build with workaround for broken win64 apps:
$ wine --version wine-1.9.2-134-gdccb57dfd9c
Regards
*** This bug has been marked as a duplicate of bug 27680 ***