[Bug 39874] New: Alien Shooter crashes often with access violation
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Dec 28 17:09:08 CST 2015
https://bugs.winehq.org/show_bug.cgi?id=39874
Bug ID: 39874
Summary: Alien Shooter crashes often with access violation
Product: Wine
Version: 1.8
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: directx-d3d
Assignee: wine-bugs at winehq.org
Reporter: zakarjor at yahoo.com
Distribution: ---
Alien shooter (1.2 Gog version) crashes often, usually when lots of actions
occur (like massive number of aliens and explosions happening all at the same
time.) The error log saved by the game inside Logs directory shows the
following at the end:
!!!ERROR 09:28:10!!!SOUND: 0x6A Invalid nsfx
!!!ERROR 09:28:43!!!TEXTURE: 0x8876086C Couldn't lock
!!!ERROR EXCEPTION 0x41B57C!!!: Access violation write to 0x0
Looking at the wine source, it looks like LockRect() in d3d8/surface.c is
returning D3DERR_INVALIDCALL after checking for invalid rect.
By patching the file to comment out the checking logic, the game seems to play
flawlessly (currently played to level 10 without any crash.)
The checking logic seems to have been added in 2006:
http://source.winehq.org/git/?p=wine.git;a=commit;h=77448f588b888ecc724c7ead9f28629f3f661d27
I'm not sure if this is the right way to fix it, but at least it works, and I
haven't seen any effect with other games I have. Looking at d3d9/surface.c, I
can see that the checking logic doesn't exist in d3d9 LockRect(), and I've seen
Internet examples of LockRect() passing invalid rectangles with impunity (like
zero width rectangles).
--
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.
More information about the wine-bugs
mailing list