[Bug 8797] New: d3d/ddraw related Applications crashes on startup
if WINEDEBUG+=relay was not set.
wine-bugs at winehq.org
Mon Jun 25 17:59:43 CDT 2007
Summary: d3d/ddraw related Applications crashes on startup if
WINEDEBUG+=relay was not set.
AssignedTo: wine-bugs at winehq.org
ReportedBy: ErV2005 at rambler.ru
After upgrading wine (from 0.9.37 to 0.9.38 or from 0.9.38 to 0.9.39 - I'm not
sure) many graphical applications started crashing if WINEDEBUG+=all or
WINEDEBUG+=relay not set and work fine if WINEDEBUG was specified Among those
applications are Postal 1, Kiosaky's Cashflow 101, .kkreiger and probably more.
I'm not sure if this is a bug in Wine or a problem in my system, because
uninstalling and downgrading (even to 0.9.34) didn't help - problem now exists
in other versions as well. Applications crash in a "windows way" - with access
violation at address 0x7XXXXXXX. (Example output produced by .kkreiger will be
attached(avaliable at http://www.theprodukkt.com/))
But .kkreiger works fine if started as
WINEDEBUG=+relay wine wine pno001.exe &>/dev/null
This application worked fine before and didn't need those flags.
Kyosaky's Cashflow 101 crashes with a windows message box which says "Unhandled
exceptionL c0000005 At address: 7ce2f9ce".but works fine if started with
same thing with Postal 1.
There are also problems with an Alien vs Predator 2 game and some other apps
that enumerate D3D display modes:
if program has a listbox where videomodes can be selected, this box will
contain no strings (alien vs. predator, ragnarok online, some other apps), if
WINEDEBUG+=all is not set. Can these problems be connected with those crashes?
I was able to find where crash occurs, but didn't yet find why this happens.
I've used one of my own ddraw test applications (written for windows) that
produces same result - crashes if WINEDEBUG+=relay is not set, and works if
it is set. Source code is at the end of message. (Both application and it's
source code will be added as attachments)
For Wine - 0.9.39:
When initializing DirectDraw by using DirectDrawCreateEx, DDRAW_Create calls
LoadLibraryA with argument "wined3d". Crash occurs during LoadLibraryA call,
not in wined3d, but in ntdll/loader.c, in get_modref() function, at the "return
cached_modref = CONTAINING_RECORD(mod, WINE_MODREF, ldr);" line.
It looks like (somewhere between LoadLibraryA and get_modref()) there is a
problem with a "if (TRACE_ON())", but I'm not sure if this so, and where should
I look for this problem. And I still don't know why it worked before and
suddenly stopped working. (I'm marking this as loader bug, because crash
occurse while loading a dll) Any suggestions about location of this bug?
With best regards, Victor Eremin.
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs