Hi all.
About half a year ago I replaced my old desktop by an AMD64 box and my previous x86 Linux from Scratch (LFS) installation by a x86_64 multilib LFS. And since then I'm not able to run any DirectX title anymore that used to work before.
This is the way I usually compile wine (GCC 3.4.4):
./configure --prefix=/opt/wine-CVS20060307 \ --x-libraries=/usr/X11R6/lib && make depend && make && su -c "make install"
Here are some games that used to work on my old LFS, their behaviour and the error messages. I've also attached a short log of each game to this messages. All these logs have been recorded with the CVS version of wine from 2006/03/05.
Age of Empires 2 starts up, I can hear sound. When I click on "Single Player", the game hangs with the following message:
err:seh:setup_exception stack overflow 24 bytes in thread 0009 eip 55726262 esp 55ca0fe8 stack 0x55ca1000-0x55db0000
Backgammon Pro is an older (7 years or so) backgammon game, quite simple and 2D, but uses DirectDraw. It crashes at startup:
err:ntdll:RtlpWaitForCriticalSection section 0x5574d040 "directory.c: dir_section" wait timed out in thread 000b, blocked by 000c, retrying (60 sec) err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x55701230
Diablo 2 VidTest (D2VidTest.exe) runs fine and suggests Direct3D for rendering. When I click on the ok-button to quit, it keeps hanging:
err:ntdll:RtlpWaitForCriticalSection section 0x6ffa0730 "?" wait timed out in thread 0009, blocked by 000a, retrying (60 sec)
Diablo 2 crashes at startup after some time:
err:ntdll:RtlpWaitForCriticalSection section 0x5574d6c0 "virtual.c: csVirtual" wait timed out in thread 0010, blocked by 0000, retrying (60 sec) err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x55701230
Half-Life crashes at startup:
err:seh:setup_exception nested exception on signal stack in thread 0009 eip 55725f43 esp 55589c90 stack 0x55ca1000-0x55db0000
Monkey Island 4 (OpenGL-mode) crashes at startup:
err:seh:setup_exception stack overflow 240 bytes in thread 0009 eip 557013e6 esp 55ca0f10 stack 0x55ca1000-0x55db0000
StarCraft starts to the title menu, but clicking on "Single Player" crashes it:
err:seh:setup_exception stack overflow 276 bytes in thread 0009 eip 557013e6 esp 55ca0eec stack 0x55ca1000-0x55db0000
WarCraft 3 (OpenGL-mode) doesn't show up anything, just hangs silently.
As you can see, the most common errors are err:seh:setup_exception and err:ntdll:RtlpWaitForCriticalSection. I've also done some more tests with other games like Revolt, Anno 1503, Half-Life 2, and the errors all look alike.
I have tried the following things to solve the problem: * Deleted my ~/.wine, over and over again ;-) * Compiled wine without any optimization flags * Compiled wine on a x86 Debian box and copied the installation over * Copied my ~/.wine to that Debian box, where most of the games run fine * Tried different wine versions, starting with pre-0.9 versions, ending with the latest CVS version * Used winetools to setup an environment with many native DLLs. Installation of most of the software including IE worked fine, but did not help though. * Searched this mailing list archive and the web for similar errors
Something is definitely going wrong with this. Anybody an idea? I would appreciate any help.
Cheers,
Christian Schneider
On Wed, Mar 08, 2006 at 12:09:28AM +0100, Christian Schneider wrote:
As you can see, the most common errors are err:seh:setup_exception and err:ntdll:RtlpWaitForCriticalSection. I've also done some more tests with other games like Revolt, Anno 1503, Half-Life 2, and the errors all look alike.
anno 1503 never ever worked for me (there where some discussion about apps like this that follow a pattern with ddraw and threads, that wine might be able to handle (ever)).
Hi,
anno 1503 never ever worked for me (there where some discussion about apps like this that follow a pattern with ddraw and threads, that wine might be able to handle (ever)).
Anno 1503 is not multi threaded, I had the demo running, but it was VERY slow. But there might be other glx context bugs
On Wed, Mar 08, 2006 at 10:18:32AM +0100, Stefan Dösinger wrote:
anno 1503 never ever worked for me (there where some discussion about apps like this that follow a pattern with ddraw and threads, that wine might be able to handle (ever)).
Anno 1503 is not multi threaded, I had the demo running, but it was VERY slow. But there might be other glx context bugs
i guess i have tried running this game over a year now - everytime it crashes at the exact same place (choosing a flag and then switching to "3d-mode"). last week i tar:ed it and gave up - now you tell me it works ;)
btw: for all the d3d8 -> wined3d gurus out there another demo, that make trouble:
the vertex-shader there goes nuts (rainbow cars) and about 2/3 of the textures looks like only one pixel-row of the texture is scaled over the whole polygone.
the game used to work completly before that change - except the shadows and the overlayed textures for the instruments.
On 08/03/06, Christoph Frick frick@sc-networks.de wrote:
the vertex-shader there goes nuts (rainbow cars) and about 2/3 of the textures looks like only one pixel-row of the texture is scaled over the whole polygone.
the game used to work completly before that change - except the shadows and the overlayed textures for the instruments.
I think Roderick mentioned that shaders are currently broken in d3d8 and that he was working on fixing them.
@Christian: For what it's worth, I'm on AMD64 as well and it seems to work just fine. As Stefan said, you should probably verify that it link against the correct libraries (although I'm not sure if trying to link against 64-bit libs would even compile).
Am Mittwoch, den 08.03.2006, 09:46 +0100 schrieb Christoph Frick:
On Wed, Mar 08, 2006 at 12:09:28AM +0100, Christian Schneider wrote:
As you can see, the most common errors are err:seh:setup_exception and err:ntdll:RtlpWaitForCriticalSection. I've also done some more tests with other games like Revolt, Anno 1503, Half-Life 2, and the errors all look alike.
anno 1503 never ever worked for me (there where some discussion about apps like this that follow a pattern with ddraw and threads, that wine might be able to handle (ever)).
I know that it's not supposed to work, but don't you think it's strange that I only get two types of error messages with any game, regardless if it's known to work or not?
Regards,
Christian Schneider
On Wed, Mar 08, 2006 at 11:01:06AM +0100, Christian Schneider wrote:
As you can see, the most common errors are err:seh:setup_exception and err:ntdll:RtlpWaitForCriticalSection. I've also done some more tests with other games like Revolt, Anno 1503, Half-Life 2, and the errors all look alike.
anno 1503 never ever worked for me (there where some discussion about apps like this that follow a pattern with ddraw and threads, that wine might be able to handle (ever)).
I know that it's not supposed to work, but don't you think it's strange that I only get two types of error messages with any game, regardless if it's known to work or not?
like Stefan i would also consider this more like a problem with the installation? i also run all the games on a opteron box with 64bit gentoo and manual compiled wine. i had no problems as i switched last year from the 32bit platform other then the problems i had beforehand. although anno1503 is the only game you mentioned, that is also on my list - beside that i know the following games work: black mirror, nibiru (demo) il2 (stormovik, foreign battles, aces, pacific fighters), jagged alliance 2, grand prix legends, baldurs gate2, planescape torement - and i have problems running ankh, raven shield, richard burns rally.
Am Mittwoch, den 08.03.2006, 00:09 +0100 schrieb Christian Schneider:
Hi all.
About half a year ago I replaced my old desktop by an AMD64 box and my previous x86 Linux from Scratch (LFS) installation by a x86_64 multilib LFS. And since then I'm not able to run any DirectX title anymore that used to work before.
This is the way I usually compile wine (GCC 3.4.4):
./configure --prefix=/opt/wine-CVS20060307 \ --x-libraries=/usr/X11R6/lib && make depend && make && su -c "make install"
Here are some games that used to work on my old LFS, their behaviour and the error messages. I've also attached a short log of each game to this messages. All these logs have been recorded with the CVS version of wine from 2006/03/05.
Age of Empires 2 starts up, I can hear sound. When I click on "Single Player", the game hangs with the following message:
err:seh:setup_exception stack overflow 24 bytes in thread 0009 eip 55726262 esp 55ca0fe8 stack 0x55ca1000-0x55db0000
Backgammon Pro is an older (7 years or so) backgammon game, quite simple and 2D, but uses DirectDraw. It crashes at startup:
err:ntdll:RtlpWaitForCriticalSection section 0x5574d040 "directory.c: dir_section" wait timed out in thread 000b, blocked by 000c, retrying (60 sec) err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x55701230
Diablo 2 VidTest (D2VidTest.exe) runs fine and suggests Direct3D for rendering. When I click on the ok-button to quit, it keeps hanging:
err:ntdll:RtlpWaitForCriticalSection section 0x6ffa0730 "?" wait timed out in thread 0009, blocked by 000a, retrying (60 sec)
Diablo 2 crashes at startup after some time:
err:ntdll:RtlpWaitForCriticalSection section 0x5574d6c0 "virtual.c: csVirtual" wait timed out in thread 0010, blocked by 0000, retrying (60 sec) err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x55701230
Half-Life crashes at startup:
err:seh:setup_exception nested exception on signal stack in thread 0009 eip 55725f43 esp 55589c90 stack 0x55ca1000-0x55db0000
Monkey Island 4 (OpenGL-mode) crashes at startup:
err:seh:setup_exception stack overflow 240 bytes in thread 0009 eip 557013e6 esp 55ca0f10 stack 0x55ca1000-0x55db0000
StarCraft starts to the title menu, but clicking on "Single Player" crashes it:
err:seh:setup_exception stack overflow 276 bytes in thread 0009 eip 557013e6 esp 55ca0eec stack 0x55ca1000-0x55db0000
WarCraft 3 (OpenGL-mode) doesn't show up anything, just hangs silently.
As you can see, the most common errors are err:seh:setup_exception and err:ntdll:RtlpWaitForCriticalSection. I've also done some more tests with other games like Revolt, Anno 1503, Half-Life 2, and the errors all look alike.
I have tried the following things to solve the problem: * Deleted my ~/.wine, over and over again ;-) * Compiled wine without any optimization flags * Compiled wine on a x86 Debian box and copied the installation over * Copied my ~/.wine to that Debian box, where most of the games run fine * Tried different wine versions, starting with pre-0.9 versions, ending with the latest CVS version * Used winetools to setup an environment with many native DLLs. Installation of most of the software including IE worked fine, but did not help though. * Searched this mailing list archive and the web for similar errors
Something is definitely going wrong with this. Anybody an idea? I would appreciate any help.
Cheers,
Christian Schneider
I found out that the problem doesn't seem to be related DirectX nor x86_64 libs. My games were all installed on a FAT32 partition which is also available for my parallel installed Windows XP. But the programs that worked I had installed directely to drive C: (~/.wine/drive_c).
Now after I installed any of the games to the fake windows directory, they worked again! Renaming the installation directory and setting a symlink to the same game directory on the FAT32 parition, and the game crashed again.
The debug messages showed that the last called function always was ntdll.NtQueryDirectoryFile. Grepping this function name from the log file showed the last call to it:
0009:Call ntdll.NtQueryDirectoryFile(0000001c,00000000,00000000,00000000,55daeac8,55899bb0,00002000,00000003,00000000,55899b94,00000000) ret=559c6246 0009:Ret ntdll.NtQueryDirectoryFile() retval=80000006 ret=559c6246 0009:Call ntdll.NtQueryDirectoryFile(00000070,00000000,00000000,00000000,55dade68,558d1dd0,00002000,00000003,00000000,558d1db4,00000000) ret=559c6246 0009:Ret ntdll.NtQueryDirectoryFile() retval=00000000 ret=559c6246 0009:Call ntdll.NtQueryDirectoryFile(00000070,00000000,00000000,00000000,55dade68,558d1dd0,00002000,00000003,00000000,558d1db4,00000000) ret=559c6246 0009:Ret ntdll.NtQueryDirectoryFile() retval=00000000 ret=559c6246 0009:Call ntdll.NtQueryDirectoryFile(00000070,00000000,00000000,00000000,55dade68,558d1e28,00002000,00000003,00000000,558d1e0c,00000000) ret=559c6246 0009:Ret ntdll.NtQueryDirectoryFile() retval=80000006 ret=559c6246 000b:Call ntdll.NtQueryDirectoryFile(0000001c,00000000,00000000,00000000,55daea48,5588d4b8,00002000,00000003,00000000,5588d49c,00000000) ret=559c8246 000b:Ret ntdll.NtQueryDirectoryFile() retval=80000006 ret=559c8246 0009:Call ntdll.NtQueryDirectoryFile(0000009c,00000000,00000000,00000000,55dad048,558f2a58,00002000,00000003,00000000,558f2a3c,00000000) ret=559c6246 err:seh:setup_exception nested exception on signal stack in thread 0009 eip 55725f43 esp 55589c90 stack 0x55ca1000-0x55db0000
Now what to do. Should I open a bug report?
Cheers,
Christian Schneider