https://bugs.winehq.org/show_bug.cgi?id=41091
Bug ID: 41091 Summary: 1nsane (GOG.com) crashes after launch Product: Wine Version: 1.9.7 Hardware: x86 URL: https://www.gog.com/game/1nsane OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: gyebro69@gmail.com CC: joseph.kucia@gmail.com Regression SHA1: 403459fd914788f180ad9eea6459274ac62f8c2f Distribution: ---
Created attachment 55290 --> https://bugs.winehq.org/attachment.cgi?id=55290 terminal output
The game crashes after start, probably when trying to play the intro videos. If I rename the Anims/ directory containing the 3 videos, then the game doesn't crash and loads to the menu properly. Videos didn't work before the regression, they were simply skipped by Wine.
The original demo version can't be used to reproduce the problem (it doesn't contain any videos).
From what I see the crash didn't occur before
commit 403459fd914788f180ad9eea6459274ac62f8c2f Author: Józef Kucia jkucia@codeweavers.com Date: Tue Mar 29 12:14:53 2016 +0200
wined3d: Add hull shader type.
Wine 1.9.16 Fedora 24 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 367.35 OpenGL core profile shading language version string: 4.50 NVIDIA
https://bugs.winehq.org/show_bug.cgi?id=41091
--- Comment #1 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Béla Gyebrószki from comment #0)
From what I see the crash didn't occur before
commit 403459fd914788f180ad9eea6459274ac62f8c2f Author: Józef Kucia jkucia@codeweavers.com Date: Tue Mar 29 12:14:53 2016 +0200
wined3d: Add hull shader type.
Are you sure this is a correct commit id? FWIW, the game seems to work for me after this commit but it doesn't work in the current master.
I'm afraid there's nothing to fix in wined3d. The game releases IDirectDraw object and then releases IDirectDrawSurface. AFAIK this is illegal and crashes on Windows as well. In Wine this leads to accessing freed device memory. You can confirm this by running the game with WINEDEBUG=warn+heap (it should always crash, even with good commits).
It's possible that the game won't try to release IDirectDrawSurface after releasing IDirectDraw when it's able to play videos. If this is the case, then this bug could be fixed by implementing missing bits in quartz and/or amstream.
https://bugs.winehq.org/show_bug.cgi?id=41091
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Component|directx-d3d |amstream Regression SHA1|403459fd914788f180ad9eea645 | |9274ac62f8c2f |
--- Comment #2 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Józef Kucia from comment #1)
(In reply to Béla Gyebrószki from comment #0)
From what I see the crash didn't occur before
commit 403459fd914788f180ad9eea6459274ac62f8c2f Author: Józef Kucia jkucia@codeweavers.com Date: Tue Mar 29 12:14:53 2016 +0200
wined3d: Add hull shader type.
Are you sure this is a correct commit id? FWIW, the game seems to work for me after this commit but it doesn't work in the current master.
I'm afraid there's nothing to fix in wined3d. The game releases IDirectDraw object and then releases IDirectDrawSurface. AFAIK this is illegal and crashes on Windows as well. In Wine this leads to accessing freed device memory. You can confirm this by running the game with WINEDEBUG=warn+heap (it should always crash, even with good commits).
It's possible that the game won't try to release IDirectDrawSurface after releasing IDirectDraw when it's able to play videos. If this is the case, then this bug could be fixed by implementing missing bits in quartz and/or amstream.
I trust your knowledge and skill thus removed the regression keyword. I tested again this bug and the result seemed to be consistent to me: starting with commit 403459fd914788f180ad9eea6459274ac62f8c2f the game always crashed for me.
Launching the game with WINEDEBUG=warn+heap indeed crashes the game even with good commits. Installing native amstream also makes the crash go away.
https://bugs.winehq.org/show_bug.cgi?id=41091
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- The game starts and works fine with Intel and LIBGL_ALWAYS_SOFTWARE, with NVIDIA it does not crash for me but the window is not drawn, I can blindly navigate the menus and make the game start. Tested with Wine git (wine-2.8-180-gb8a8e1bde9).
https://bugs.winehq.org/show_bug.cgi?id=41091
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #4 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Bruno Jesus from comment #3)
The game starts and works fine with Intel and LIBGL_ALWAYS_SOFTWARE, with NVIDIA it does not crash for me but the window is not drawn, I can blindly navigate the menus and make the game start. Tested with Wine git (wine-2.8-180-gb8a8e1bde9).
The crash on startup doesn't occur in wine-2.8-180-gb8a8e1bde9, thus I'm resolving this as fixed. When I have time I'll do a reverse bisect to find out which commit fixed it. Bruno, I can't reproduce the other issue you mentioned, the game runs properly here on Nvidia binary drivers 381.22.
https://bugs.winehq.org/show_bug.cgi?id=41091
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.9.
https://bugs.winehq.org/show_bug.cgi?id=41091
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|amstream |quartz