[Bug 60412] New: Hard Truck Apocalypse hangs and hits a stack overflow with builtin msvcr71/msvcp71
http://bugs.winehq.org/show_bug.cgi?id=60412 Bug ID: 60412 Summary: Hard Truck Apocalypse hangs and hits a stack overflow with builtin msvcr71/msvcp71 Product: Wine Version: 11.18 Hardware: x86-64 URL: https://store.steampowered.com/app/285500/Hard_Truck_A pocalypse__Ex_Machina/ OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@list.winehq.org Reporter: gyebro69@gmail.com CC: eric.pouech@gmail.com Target Milestone: --- Regression SHA1: 8701d4ed78d677fe00ba53323b3e5a8b10a4df7f Distribution: --- Hard Truck Apocalypse (Steam, 32-bit) no longer starts with Wine 11.18-287-gabc6aebd55b when using the default DLL load order, while forcing the game-provided native msvcr71.dll and msvcp71.dll makes it start normally. After launching the game, no window appears. The hta.exe process and wineserver each consume approximately 50%-50% CPU. After about 20–30 seconds, Wine reports an unhandled stack overflow: wine: Unhandled stack overflow at address 7BDE6144 (thread 0024), starting debugger... 0024:err:virtual:virtual_setup_exception stack overflow 1984 bytes addr 0x7bded97b stack 0xaa0840 (0xaa0000-0xaa1000-0x3a50000) I bisected the regression between Wine 11.18 and current Wine master at commit abc6aebd55b. The first bad commit is: commit 8701d4ed78d677fe00ba53323b3e5a8b10a4df7f include/msvcrt: Default time_t to 64bit even on 32bit compilations. Reverting the commit on current HEAD fixes the problem. The game directory contains its own Microsoft Visual C++ 7.1 runtime DLLs: mfc71.dll mfc71u.dll msvcp71.dll msvcr71.dll Forcing the game-provided native versions avoids the regression: WINEDLLOVERRIDES="msvcr71,msvcp71=n" wine hta.exe -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 --- Comment #1 from Béla Gyebrószki <gyebro69@gmail.com> --- Created attachment 82217 --> http://bugs.winehq.org/attachment.cgi?id=82217 Max Payne 2 demo backtrace This regression can also be reproduced with the Max Payne 2 demo: the game crashes after the Rockstar logo video. https://www.moddb.com/games/max-payne-2/downloads/max-payne-2-the-fall-of-ma... maxpayne2demosetup_rc2.exe md5: d5fafc408475539bf29685e957eb9e17 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 Béla Gyebrószki <gyebro69@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 --- Comment #2 from Eric Pouech <eric.pouech@gmail.com> --- Created attachment 82220 --> http://bugs.winehq.org/attachment.cgi?id=82220 tentative patch thanks for reporting & bisecting hopefully, the attached patch should fix it would you mind trying? TIA -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 --- Comment #3 from Béla Gyebrószki <gyebro69@gmail.com> --- (In reply to Eric Pouech from comment #2)
Created attachment 82220 [details] tentative patch
thanks for reporting & bisecting hopefully, the attached patch should fix it would you mind trying? TIA I tested your patch. It fixes Max Payne 2 and Hard Truck Apocalypse, but most of the other affected games still show the same problems.
I have noted 12 affected games so far, and I am still early in testing. They do not all crash: for example, Freelancer starts and otherwise works, but its saved games do not appear in the Load Game menu. I am looking for freely downloadable demos that reproduce the regression so you can test it too. In the meantime, please let me know what debug logs or other information would be most useful. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 --- Comment #4 from Eric Pouech <eric.pouech@gmail.com> --- (In reply to Béla Gyebrószki from comment #3)
(In reply to Eric Pouech from comment #2)
Created attachment 82220 [details] tentative patch
thanks for reporting & bisecting hopefully, the attached patch should fix it would you mind trying? TIA I tested your patch. It fixes Max Payne 2 and Hard Truck Apocalypse, but most of the other affected games still show the same problems.
I have noted 12 affected games so far, and I am still early in testing. They do not all crash: for example, Freelancer starts and otherwise works, but its saved games do not appear in the Load Game menu.
I am looking for freely downloadable demos that reproduce the regression so you can test it too. In the meantime, please let me know what debug logs or other information would be most useful.
potentially I missed some versions of CRT DLLs to be forced into 32bit time can you tell for these failing games the msvcr* msvcp* versions actually loaded? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 --- Comment #5 from Béla Gyebrószki <gyebro69@gmail.com> --- One example is the freely available Aura 2: The Sacred Rings demo. It still fails with your tentative patch: TSR.exe ends in a stack overflow. According to WINEDEBUG=+loaddll, the TSR.exe process loads Wine's builtin msvcrt.dll and ucrtbase.dll, but no numbered msvcr*.dll or msvcp*.dll. There are no msvc*.dll files in the game directory either. Could the _MSVCR_VER > 0 condition be leaving the msvcrt.dll case out? I will check which CRT DLLs are loaded by the other failing games as well. https://www.moddb.com/games/aura-ii-the-sacred-rings/downloads/the-sacred-ri... I found another freely available reproducer: the Freelancer demo. Its `WINEDEBUG=+loaddll` log shows that Freelancer.exe loads Wine's builtin `msvcrt.dll`, `ucrtbase.dll`, and `CRTDLL.dll`, plus a native `MSVCP60.dll` from `C:\windows\system32`. No numbered `msvcr*.dll` is loaded. The problem is with saved games. After starting a new game and waiting for its unskippable intro to finish, press F1, select Save Game, enter a name, and press Enter. The save appears in the list without an error. Quit to the main menu and select Load Game: the save is no longer listed. The two startup videos show a black screen, so press Esc twice to reach the main menu. Could the CRT case excluded by `_MSVCR_VER > 0` be relevant here? The DLL log alone does not establish the cause, but it shows that this failing game uses a different set of CRT DLLs from Max Payne 2. https://archive.org/details/freelancer_demo -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 Béla Gyebrószki <gyebro69@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |fa84a7d62c161e7fd1b27246460 | |9011b3d6d0a07 Resolution|--- |FIXED --- Comment #6 from Béla Gyebrószki <gyebro69@gmail.com> --- I tested both commits separately. Commit 99132f60 (“msvcrt: Always use explicit sized variant of time_t”) fixes the regression in some games, including Max Payne 2, but Hard Truck Apocalypse remains broken. After the following commit, fa84a7d6 (“msvcrt: Use 32-bit time_t with older msvcrt versions”), all the affected games I tested work correctly again. Marking FIXED. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=60412 Alexandre Julliard <julliard@winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #7 from Alexandre Julliard <julliard@winehq.org> --- Closing bugs fixed in 11.19. -- 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.
participants (1)
-
WineHQ Bugzilla