[Bug 57455] New: HOMM3 (from GOG.com) crashes immediately on run
https://bugs.winehq.org/show_bug.cgi?id=57455 Bug ID: 57455 Summary: HOMM3 (from GOG.com) crashes immediately on run Product: Wine Version: 9.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: gilbates2a(a)proton.me Distribution: --- Created attachment 77450 --> https://bugs.winehq.org/attachment.cgi?id=77450 Output of WINEDEBUG="+all" Running the Heroes3.exe causes an immediate crash on Arch Linux with wine 9.16 with the following error message:
0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x7a181f30
The crash occurs on every run and with identical error message. I also tried running with wine 7.22 and get a similar crash but with different error message:
0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x11a1f30
Attached log from 9.16 run with WINEDEBUG="+all" HOMM3 was installed from GOG offline installer with following filename (installer ran fine):
setup_heroes_of_might_and_magic_3_complete_4.0_(3.2)_gog_0.1_(77075).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.
https://bugs.winehq.org/show_bug.cgi?id=57455 JPT <j-p-t(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |j-p-t(a)gmx.net --- Comment #1 from JPT <j-p-t(a)gmx.net> --- I can confirm. Manjaro, Wine 9.16 Map Editor works offline installer partly works GOG installer does not work (different problems though) Is there anything I can help with? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #2 from Rafał Mużyło <galtgendo(a)o2.pl> --- Would one of you attach the full *normal* output ? Going for '+all' is usually not needed and going for it as the first thing is nearly always wrong. Filtering out all the noise without having a general idea what went wrong is too tedious. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69(a)gmail.com --- Comment #3 from Béla Gyebrószki <gyebro69(a)gmail.com> --- (In reply to Rafał Mużyło from comment #2)
Would one of you attach the full *normal* output ?
Really this is the only line in the terminal:
0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x7ae01f30
GOG updated the game in November and the problem exists since then. They include the DDrawCompat wrapper with the game and oddly enough, they also renamed the bundled ddraw.dll to xdd.dll so the game executable always loads xdd.dll. If you don't mind hex editing Heroes3.exe, here is a workaround: https://www.gog.com/forum/heroes_of_might_and_magic_series/full_screen_disab... The game will look for ddraw.dll instead and will use Wine's built-in ddraw.dll (which should work). -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #4 from Rafał Mużyło <galtgendo(a)o2.pl> --- ... Out of curiosity, is that lib just original Windows dll renamed, some wacky wrapper or some odd modification of ddraw.dll ? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #5 from Béla Gyebrószki <gyebro69(a)gmail.com> --- (In reply to Rafał Mużyło from comment #4)
...
Out of curiosity, is that lib just original Windows dll renamed, some wacky wrapper or some odd modification of ddraw.dll ?
It is from https://github.com/narzoul/DDrawCompat -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #6 from Rafał Mużyło <galtgendo(a)o2.pl> --- Something sounds off about this... The way I remember such wrappers working with wine was (as long as the dll name wasn't changed) WINEDLLOVERRIDES=ddraw=n,b. And such *do* work - IIRC, Fallout 1 was using such wrapper. Your proposed solution just kills the wrapper... Now, the question is: if you change the dll name in the executable back to ddraw.dll, rename that dll too (or use its unmodified version, as that one is named ddraw.dll) *and* use WINEDLLOVERRIDES does the wrapper work or not ? Though that's actually two different problems: one with how wine is loading the symbols, other with the wrapper being buggy in wine... -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #7 from Béla Gyebrószki <gyebro69(a)gmail.com> --- The game is forced to use native ddraw.dll aliased as xdd.dll that comes from DDrawCompat. Any versions of DDrawCompat higher than v0.4.0 don't work in Wine. md5sum xdd.dll (from HoMM3 installation) f64472b6e307ff765c4c25a7333a9577 md5sum ddraw.dll (comes from DDrawCompat-v0.5.4.zip) f64472b6e307ff765c4c25a7333a9577 You can reproduce the problem e.g. with Star Trek Armada demo: https://www.moddb.com/games/star-trek-armada-i/downloads/star-trek-armada-de... Download and extract ddraw.dll to the game install directory and make the override ddraw='n,b' https://github.com/narzoul/DDrawCompat/releases/download/v0.5.4/DDrawCompat-... You will receive a very similar exception that of posted here when starting the game Armada.exe: 0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x7fcb1f30 So this bug is not specific to HoMM3 only but to any old games that use DDrawCompat>v0.4.0 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #8 from Rafał Mużyło <galtgendo(a)o2.pl> --- ...a part of their hooking method looks a bit volatile going by the second commit after 0.4.0 tag... I wonder if their debug builds (combined with 'loaddll' channel) show anything interesting (when you compare before and after) - if the whole wine's debug output is a single line, the failure must happen ridiculously early... -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 --- Comment #9 from Rafał Mużyło <galtgendo(a)o2.pl> --- Their debug log offers this for 0.5.0: 2d2c 11:08:32.461 Hooking function via IAT: GetProcAddress (C:\windows\system32\ kernel32.dll+0x19410) 2d2c 11:08:32.461 > dbgEngGetProcAddress(*MOD{&7BCF0000,"C:\\windows\\system32\\ ntdll.dll"}, "__wine_dbg_strdup") 2d2c 11:08:32.461 < dbgEngGetProcAddress(*MOD{&7BCF0000,"C:\\windows\\system32\\ ntdll.dll"}, "__wine_dbg_strdup") = 7BD2AE10 2d2c 11:08:32.461 > dbgEngGetProcAddress(*MOD{&7BCF0000,"C:\\windows\\system32\\ ntdll.dll"}, "__wine_dbg_header") 2d2c 11:08:32.461 < dbgEngGetProcAddress(*MOD{&7BCF0000,"C:\\windows\\system32\\ ntdll.dll"}, "__wine_dbg_header") = 7BD2ABD0 2d2c 11:08:32.461 ERROR: DbgEng: object creation failed: 0x80004002 With 0.4.0 it's: 2d38 11:14:30.683 Hooking function via IAT: GetProcAddress (C:\windows\system32\ kernel32.dll+0x19410) 2d38 11:14:30.683 > dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_strdup") 2d38 11:14:30.683 < dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_strdup") = 7BD2A E10 2d38 11:14:30.683 > dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_header") 2d38 11:14:30.683 < dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_header") = 7BD2A BD0 2d38 11:14:30.683 ERROR: DbgEng: object creation failed: 0x80004002 2d38 11:14:30.684 > dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_output") 2d38 11:14:30.685 < dbgEngGetProcAddress(&7BCF0000, "__wine_dbg_output") = 7BD2A D50 2d38 11:14:30.685 DPI awareness was successfully changed to "permonitor" via Set ProcessDpiAwarenessContext 2d38 11:14:30.689 DDrawCompat loaded successfully 2d38 11:14:48.992 DDrawCompat detached successfully In both cases it looks weird - those are wine internals... -- 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.
https://bugs.winehq.org/show_bug.cgi?id=57455 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |scarabyte18+winehq(a)gmail.co | |m --- Comment #10 from Béla Gyebrószki <gyebro69(a)gmail.com> --- *** Bug 57590 has been marked as a duplicate of this bug. *** -- 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=57455 lizhenbo <litimetal(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |litimetal(a)gmail.com -- 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