http://bugs.winehq.org/show_bug.cgi?id=25354
Summary: King's Quest Collection Series (1997): setup.exe crashes Product: Wine Version: 1.3.7 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: tristan_schmelcher@alumni.uwaterloo.ca
When attempting to install the game King's Quest Collection Series (the 1997 edition), setup.exe crashes partway through the installation. It happens every time and always at the same place.
After debugging, I have determined that the problem is caused by incorrect stack cleanup code in the 16-bit DDEML DLL. A number of functions in the .spec file specify HSZ argument values as occupying one word on the stack, but in fact they are a double word. As a result the stack cleanup code does not increment the stack pointer by enough, so upon return the calling code's stack pointer is not restored to the correct value.
I have attached a patch that changes the type of all HSZ arguments in the spec to "long", which fixes the bug. (I will submit it to wine-patches too.)
http://bugs.winehq.org/show_bug.cgi?id=25354
--- Comment #1 from Tristan Schmelcher tristan_schmelcher@alumni.uwaterloo.ca 2010-11-29 22:26:26 CST --- Created an attachment (id=32241) --> (http://bugs.winehq.org/attachment.cgi?id=32241) Fix incorrect HSZ argument sizes in DDEML entry points, which caused crashes in application code due to corrupting the stack pointer upon return.
http://bugs.winehq.org/show_bug.cgi?id=25354
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #2 from Dan Kegel dank@kegel.com 2010-11-30 07:18:39 CST --- woot!
http://bugs.winehq.org/show_bug.cgi?id=25354
--- Comment #3 from Tristan Schmelcher tristan_schmelcher@alumni.uwaterloo.ca 2010-11-30 13:00:07 CST --- FYI, also submitted to wine-patches at http://www.winehq.org/pipermail/wine-patches/2010-November/096337.html ... I wasn't sure whether to attach here or post there so I did both.
http://bugs.winehq.org/show_bug.cgi?id=25354
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #4 from Andrew Nguyen arethusa26@gmail.com 2010-11-30 13:08:33 CST --- (In reply to comment #3)
FYI, also submitted to wine-patches at http://www.winehq.org/pipermail/wine-patches/2010-November/096337.html ... I wasn't sure whether to attach here or post there so I did both.
The patch was committed as 9f43630ee08731d34b1b8f714d0f33e0b2e8964a. Patches aren't picked up from bugzilla, so wine-patches is the correct place to send fixes you want included in Wine.
http://bugs.winehq.org/show_bug.cgi?id=25354
--- Comment #5 from Tristan Schmelcher tristan_schmelcher@alumni.uwaterloo.ca 2010-11-30 13:14:30 CST --- Great, thanks!
http://bugs.winehq.org/show_bug.cgi?id=25354
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org 2010-12-10 13:45:55 CST --- Closing bugs fixed in 1.3.9.
http://bugs.winehq.org/show_bug.cgi?id=25354
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.2.x
http://bugs.winehq.org/show_bug.cgi?id=25354
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.2.x |---
https://bugs.winehq.org/show_bug.cgi?id=25354
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9f43630ee08731d34b1b8f714d0 | |f33e0b2e8964a CC| |focht@gmx.net