[Bug 60117] New: Evolution: The Game of Intelligent Life demo fails to start
http://bugs.winehq.org/show_bug.cgi?id=60117 Bug ID: 60117 Summary: Evolution: The Game of Intelligent Life demo fails to start Product: Wine Version: 8.5 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: imm32 Assignee: wine-bugs@list.winehq.org Reporter: alexhenrie24@gmail.com Target Milestone: --- Distribution: --- Created attachment 81675 --> http://bugs.winehq.org/attachment.cgi?id=81675 WINEDEBUG=+imm,+msgbox Steps to reproduce: 1. Run `wine Evolution-The-Game-of-Intelligent-Life_Demo_Win_EN.exe` 2. Run `LIBGL_ALWAYS_SOFTWARE=1 wine 'C:\Program Files (x86)\Discovery Multimedia\EvoDemo\EvoDemo.exe'` LIBGL_ALWAYS_SOFTWARE=1 is necessary to avoid a DirectDraw DDERR_OUTOFVIDEOMEMORY error. In Wine 8.4 and before, the game shows three error dialogs on start that say "MEM_BAD_HANDLE" and then one more when you start the game, but the game is playable. In Wine 8.5 and later, the game shows one error dialog on start that says "SmartHeap error handler recursively re-entered." Then the game simply exits. `git bisect` says: db5cf9a5e12b6e8f664f54a626f4cf6efc2bfbf3 is the first 'bad' commit commit db5cf9a5e12b6e8f664f54a626f4cf6efc2bfbf3 Author: Rémi Bernon <rbernon@codeweavers.com> AuthorDate: Mon Mar 27 14:45:42 2023 +0200 Commit: Alexandre Julliard <julliard@winehq.org> CommitDate: Tue Mar 28 11:55:31 2023 +0200 imm32: Use installed IME language for the created HKL. Notes: Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/wine/-/merge_requests/2520 dlls/imm32/Makefile.in | 2 +- dlls/imm32/imm.c | 26 ++++++++++++++++++++++---- dlls/imm32/tests/imm32.c | 1 - 3 files changed, 23 insertions(+), 6 deletions(-) Reverting that specific commit atop current master makes the game playable again. Terminal output from Wine 11.14 with WINEDEBUG=+imm,+msgbox is attached. $ sha256sum Evolution-The-Game-of-Intelligent-Life_Demo_Win_EN.exe d0d63338ce0c79e081511f932191b7b3da8d94546251dc240b42af59d3f79ea9 -- 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=60117 Alex Henrie <alexhenrie24@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression URL| |https://www.myabandonware.c | |om/game/evolution-the-game- | |of-intelligent-life-a3f#dow | |nload CC| |rbernon@codeweavers.com Regression SHA1| |db5cf9a5e12b6e8f664f54a626f | |4cf6efc2bfbf3 -- 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=60117 --- Comment #1 from Alex Henrie <alexhenrie24@gmail.com> --- The blamed commit modifies ImmInstallIMEW, but the trace shows that that function is not being called. The problem might be something more fundamental, like imm32.dll taking up too much space in memory. -- 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=60117 --- Comment #2 from Alex Henrie <alexhenrie24@gmail.com> --- Created attachment 81677 --> http://bugs.winehq.org/attachment.cgi?id=81677 [PATCH] imm32: Avoid linking to kernelbase directly. It seems that the game really doesn't like imm32.dll linking to kernelbase.dll directly. If I remove kernelbase from imm32's IMPORTS and instead use GetModuleHandle and GetProcAddress to call GetFileVersionInfoSizeW, GetFileVersionInfoW, and VerQueryValueW, the game becomes playable again. (I also tried moving kernelbase from IMPORTS to DELAYIMPORTS, but that didn't help, nor did linking to version.dll instead of kernelbase.dll.) It doesn't look like the Windows version of imm32.dll links to kernelbase.dll or version.dll, so not linking to them in Wine either could be a valid approach. Any thoughts? Should I submit the patch? -- 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=60117 Bernhard Übelacker <bernhardu@mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org --- Comment #3 from Bernhard Übelacker <bernhardu@mailbox.org> --- Maybe explicitly linking to kernel32 before kernelbase could help too, like in this commit? https://gitlab.winehq.org/wine/wine/-/commit/db6c25fa7281fd6e62cd88b3ce52519... -- 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=60117 --- Comment #4 from Alex Henrie <alexhenrie24@gmail.com> --- (In reply to Bernhard Übelacker from comment #3)
Maybe explicitly linking to kernel32 before kernelbase could help too, like in this commit?
https://gitlab.winehq.org/wine/wine/-/commit/ db6c25fa7281fd6e62cd88b3ce52519c0bd6f1ed
That worked! How the heck??? I understand why linking to kernel32 first would make a difference for tests that need to run on multiple Windows versions, but why it helps this game is a mystery to me. -- 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=60117 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com --- Comment #5 from Zeb Figura <z.figura12@gmail.com> --- Probably hooking nonsense? -- 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=60117 Alex Henrie <alexhenrie24@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |5960f8049bb185b1a789b4ee8ef | |aedbe1feb8b6f Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Alex Henrie <alexhenrie24@gmail.com> --- Fixed by https://gitlab.winehq.org/wine/wine/-/commit/5960f8049bb185b1a789b4ee8efaedb... -- 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