https://bugs.winehq.org/show_bug.cgi?id=46849
Bug ID: 46849 Summary: Vietcong: taking handmap causes crash (ProcessVertices) Product: Wine Version: 4.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: havran.jan@email.cz Regression SHA1: 07c20ef0c9762f852001560b296643e5362ee1fe Distribution: ArchLinux
Created attachment 63897 --> https://bugs.winehq.org/attachment.cgi?id=63897 WINEDEBUG=+tid,+seh,+timestamp,+d3d
Since Wine 4.1, Vietcong game crashes every time the player takes a handmap. After this crash there appears message window of title "TransformPoints", text "ProcessVertices" and one button "ok" and following line on output: 0009:err:d3d:wined3d_device_process_vertices Failed to map resource.
Similar crashes were reported in RC versions, see bug #46359 and bug #46403.
Log is reduced to first 50k lines and last 1M lines.
https://bugs.winehq.org/show_bug.cgi?id=46849
Jan Havran havran.jan@email.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=46849
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46849
--- Comment #1 from Matteo Bruni matteo.mystral@gmail.com --- Created attachment 63928 --> https://bugs.winehq.org/attachment.cgi?id=63928 Patch
Thanks for the bug report and the log. I'm attaching a patch that probably fixes the crash, it would be great if you could try it.
For the fellow wined3d devs: take a look at the commit message and let me know what you think. This is going to be annoying no matter what...
https://bugs.winehq.org/show_bug.cgi?id=46849
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #2 from Paul Gofman gofmanp@gmail.com --- (In reply to Matteo Bruni from comment #1)
Created attachment 63928 [details] Patch
Hello Matteo,
to avoid confusion in testing this, Vietcong is a d3d8 game (at least the demo where I was testing some issues previously), so such a change should probably go to d3d8.dll to be tested with this game.
https://bugs.winehq.org/show_bug.cgi?id=46849
--- Comment #3 from Jan Havran havran.jan@email.cz --- (In reply to Matteo Bruni from comment #1)
Created attachment 63928 [details] Patch
Thanks for the bug report and the log. I'm attaching a patch that probably fixes the crash, it would be great if you could try it.
Thanks, I patched version 4.4 and it fixes the problem. Are you interested in some new log?
(In reply to Paul Gofman from comment #2)
(In reply to Matteo Bruni from comment #1)
Created attachment 63928 [details] Patch
Hello Matteo,
to avoid confusion in testing this, Vietcong is a d3d8 game (at least the demo where I was testing some issues previously), so such a change should probably go to d3d8.dll to be tested with this game.
Original game is really using D3D8, but because of bug #9337 (and other useful improvements) I am using community tool, the VCStarter (version 1.70 Beta), which uses D3D9. Thus this bug is about D3D9. It is possible (very likely) that D3D8 is affected too (by different commit, 10061d591e745c67fdd1f1ec47ccc98efd851e47), tho, but I havent tested it (I can try to test it tomorrow or maybe later, I am quite busy atm).
https://bugs.winehq.org/show_bug.cgi?id=46849
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #4 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Jan Havran from comment #3)
(In reply to Matteo Bruni from comment #1)
Created attachment 63928 [details] Patch
Thanks for the bug report and the log. I'm attaching a patch that probably fixes the crash, it would be great if you could try it.
Thanks, I patched version 4.4 and it fixes the problem. Are you interested in some new log?
Great, thanks. No new logs needed, your test confirms the issue is what I expected.
It is possible (very likely) that D3D8 is affected too (by different commit, 10061d591e745c67fdd1f1ec47ccc98efd851e47), tho, but I havent tested it (I can try to test it tomorrow or maybe later, I am quite busy atm).
Yeah, everything I wrote about d3d9 also applies to d3d8 (and it will need a separate but equivalent fix, per usual). I don't think you need to test the original version of the game (but I won't stop you for doing that if you want :)
https://bugs.winehq.org/show_bug.cgi?id=46849
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |9d9dd8b378b84e125f877a1c675 | |c5b9a5ffa673f Resolution|--- |FIXED
--- Comment #5 from Matteo Bruni matteo.mystral@gmail.com --- This should be fixed by 9d9dd8b378b84e125f877a1c675c5b9a5ffa673f, reopen if that's not the case.
https://bugs.winehq.org/show_bug.cgi?id=46849
--- Comment #6 from Paul Gofman gofmanp@gmail.com --- FWIW I tried that on demo d3d8 version (without community tool), and it fixes the similar issue. I tested the very start only. The demo version was spamming FIXME messages from process_vertices() previously (was unable to lock the buffer) and was not drawing fire around the crashed helicopter, now it is fixed.
https://bugs.winehq.org/show_bug.cgi?id=46849
--- Comment #7 from Jan Havran havran.jan@email.cz --- (In reply to Paul Gofman from comment #6)
FWIW I tried that on demo d3d8 version (without community tool), and it fixes the similar issue.
D3D9 version is fixed for me as well.
https://bugs.winehq.org/show_bug.cgi?id=46849
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.9.