https://bugs.winehq.org/show_bug.cgi?id=47229
Bug ID: 47229 Summary: gog.com - The Void: crashes when entering two game locations Product: Wine Version: 4.8 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: dron2065@rambler.ru Distribution: ---
Created attachment 64501 --> https://bugs.winehq.org/attachment.cgi?id=64501 Output log of wine before crashing
Video game The Void (GOG edittion) crashes with "Unhandled page fault on read access to 0x00000000 at address 0x1953eb7" in the same locations every time. It's make finish game impossible. There are at least two problem places at game. See more in attachment log.
https://bugs.winehq.org/show_bug.cgi?id=47229
Roman Stingler coolx67@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |coolx67@gmx.at
--- Comment #1 from Roman Stingler coolx67@gmx.at --- try
winetricks d3dcompiler_43
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #2 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- (In reply to Roman Stingler from comment #1)
try
winetricks d3dcompiler_43
No it didn't help.
This message from log is interesting: "0009:fixme:dbghelp:elf_search_auxv can't find symbol in module" After it application crashed at this thread (0009). Is there way to detect which symbol was not found?
https://bugs.winehq.org/show_bug.cgi?id=47229
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47229
Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|4.8 |4.10
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #3 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- Created attachment 64745 --> https://bugs.winehq.org/attachment.cgi?id=64745 Output log of wine-4.10 before crashing
https://bugs.winehq.org/show_bug.cgi?id=47229
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- (In reply to Shlykov Andrey (Шлыков Андрей) from comment #2)
This message from log is interesting: "0009:fixme:dbghelp:elf_search_auxv can't find symbol in module"
Well, it isn't that interesting really.
Does the patch from bug 46735 help?
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #5 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- (In reply to Zebediah Figura from comment #4)
(In reply to Shlykov Andrey (Шлыков Андрей) from comment #2)
This message from log is interesting: "0009:fixme:dbghelp:elf_search_auxv can't find symbol in module"
Well, it isn't that interesting really.
Does the patch from bug 46735 help?
No, this patch doesn't help.
https://bugs.winehq.org/show_bug.cgi?id=47229
Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|4.10 |4.17
https://bugs.winehq.org/show_bug.cgi?id=47229
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|4.17 |4.10
--- Comment #6 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Please don't change the wine version, this is to reflect the first version the bug was found in. A comment is just fine to state it's still an issue.
https://bugs.winehq.org/show_bug.cgi?id=47229
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #7 from Béla Gyebrószki gyebro69@gmail.com --- Still present in Wine-5.0-rc1, tested with the GOG.com version.
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #8 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- Still present at wine-5.0, tested on Polish GOG version.
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #9 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- Still present in Wine 5.3. Also, if run game without local copy d3dx9_36.dll at game directory (for using embedded version of this dll), game crashes shortly after launch.
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #10 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- Error still exists at Wine 5.7
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #11 from Shlykov Andrey (Шлыков Андрей) dron2065@rambler.ru --- Error still exists at Wine 5.10
https://bugs.winehq.org/show_bug.cgi?id=47229
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman@codeweavers.com
--- Comment #12 from Paul Gofman pgofman@codeweavers.com --- Created attachment 69095 --> https://bugs.winehq.org/attachment.cgi?id=69095 PoC patch
I've tested the game.
This is the first game I see which depends on d3d9 shader validator interface actually validating the shaders, just returning 'ok' from IDirect3DShaderValidator9_Instruction is not enough.
The game currently needs native d3dx9_36 override (due to Bug #48528; also it compiles a lot of shaders and that would currently need d3dcompiler_47 override if builtin d3dx9_36 is used).
The game disassembles and assembles back some shaders (I have no idea why). Some shaders fail to assemble back due to: 'dcl_texcoord10_pp v10' (only 10 inputs are supported in ps_3_0 and this is eleventh) which result in the crash as the game doesn't cosnider D3DXAssembleShader() failures. I didn't debug how exactly the game gets those shaders (loads them in binary form, compiles somehow or does something else), but the binary of the shader is passed through d3d9 shader validator and if it is rejected (by returning failure from IDirect3DShaderValidator9_Instruction for the incorrect declaration) the game is fine.
I am going to prepare some more or less sensible patch for that soon, the attached patch is very ugly proof of concept which fixes the crashes I could reproduce.
https://bugs.winehq.org/show_bug.cgi?id=47229
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kevinperson@topicbox.com
--- Comment #13 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 31610 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47229
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |directx-d3d Summary|gog.com - The Void: crashes |The Void crashes when |when entering two game |entering two game locations |locations |
https://bugs.winehq.org/show_bug.cgi?id=47229
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #69095|0 |1 is obsolete| |
--- Comment #14 from Paul Gofman pgofman@codeweavers.com --- Created attachment 69101 --> https://bugs.winehq.org/attachment.cgi?id=69101 partially implement d3d9 shader validation
I am attaching a saner version of the fix and hoping to send something like that upstream after the code freeze.
https://bugs.winehq.org/show_bug.cgi?id=47229
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #15 from winetest@luukku.com --- missing patch keyword
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #16 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Paul Gofman from comment #14)
Created attachment 69101 [details] partially implement d3d9 shader validation
I am attaching a saner version of the fix and hoping to send something like that upstream after the code freeze.
The patch fixes the crash in The Void for me as well. I tried the patch with other games and noticed that quite a few games have various graphical glitches with it. I guess it's not the final version of the patch, right?
https://bugs.winehq.org/show_bug.cgi?id=47229
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #69101|0 |1 is obsolete| |
--- Comment #17 from Paul Gofman pgofman@codeweavers.com --- Created attachment 69139 --> https://bugs.winehq.org/attachment.cgi?id=69139 partially implement d3d9 shader validation
The patch fixes the crash in The Void for me as well. I tried the patch with other games and noticed that quite a few games have various graphical glitches with it. I guess it's not the final version of the patch, right?
This is sure not the final version, but I currently have no idea what does it over validate. I've attached the patch with the added debug prints, could you please name the games with the glitches and attach logs with WINEDEBUG=+d3d9 with the updated patch if possible?
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #18 from Béla Gyebrószki gyebro69@gmail.com --- Created attachment 69140 --> https://bugs.winehq.org/attachment.cgi?id=69140 +d3d9 logs from various games
I packed four +d3d9 logs in the attached .7z archive with the patch from comment #17. I tested the GOG.com version of the games, but I'm sure the problem is reproducible with the Steam versions as well.
Sid Meier's Pirates!: https://store.steampowered.com/app/3920/Sid_Meiers_Pirates/ issue: sea and land textures are broken.
Shadowgrounds Survivor (needs native d3dx9_36 + Physx legacy): https://store.steampowered.com/app/11200/Shadowgrounds_Survivor/ issue: the whole screen is garbled, only the HUD can be seen (main menu is OK).
Tales of Monkey Island (needs native d3dx9_41.dll): https://store.steampowered.com/app/31170/Tales_of_Monkey_Island_Complete_Pac... issue: main menu has glitches, mouse pointer is invisible.
Two Worlds Epic Edition (needs native d3dx9_31.dll, Physx legacy): https://store.steampowered.com/app/1930/Two_Worlds_Epic_Edition/ issue: when you cast a firebolt spell (right mouse button by default), the fireball is invisible.
This was tested with Nvidia 460.32.03.
https://bugs.winehq.org/show_bug.cgi?id=47229
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #69139|0 |1 is obsolete| |
--- Comment #19 from Paul Gofman pgofman@codeweavers.com --- Created attachment 69141 --> https://bugs.winehq.org/attachment.cgi?id=69141 partially implement d3d9 shader validation
Thanks! Does the attached patch fix it? If not (completely), could you please attach the same log for failing cases again?
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #20 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Paul Gofman from comment #19)
Created attachment 69141 [details] partially implement d3d9 shader validation
Thanks! Does the attached patch fix it? If not (completely), could you please attach the same log for failing cases again?
The revised patch seems to correct the issues in the previously mentioned games, thank you.
https://bugs.winehq.org/show_bug.cgi?id=47229
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |fgouget@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=47229
plv@techiemedia.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |plv@techiemedia.net
--- Comment #21 from plv@techiemedia.net --- Created attachment 71146 --> https://bugs.winehq.org/attachment.cgi?id=71146 Shader validator failure
https://bugs.winehq.org/show_bug.cgi?id=47229
--- Comment #22 from plv@techiemedia.net --- Comment on attachment 71146 --> https://bugs.winehq.org/attachment.cgi?id=71146 Shader validator failure
The game still hangs sometimes at the mentioned locations, see the attached log.
https://bugs.winehq.org/show_bug.cgi?id=47229
mo78@abv.bg changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mo78@abv.bg
--- Comment #23 from mo78@abv.bg --- The patch can't be applied to Wine 7.8, what should I do?