http://bugs.winehq.org/show_bug.cgi?id=14636
--- Comment #4 from Traumflug mah@jump-ing.de 2008-08-25 14:50:49 --- For convenience, here the observations from #14981:
The interesting thing is, for startup, Catia loads some thousand configuration files (small text files) and obviously, none of these operations fails. But opening an additional two or three files after startup, failure is almost sure.
To debug the thing I've set up Catia similar to how it's decripbed in the AppDB http://appdb.winehq.org/objectManager.php?sClass=version&iId=12939 . Wine is compiled unoptimised with CFLAGS="-g". To launch the app my current favourite is:
env WINEPREFIX="/home/mah/.wine" WINEDEBUG=+seh,+tid winedbg "C:\Programme\Dassault Systemes\B16\intel_a\code\bin\catstart.exe" -run "CNEXT.exe" -env CATIA.V5R16.B16 -direnv "C:\windows\profiles\All Users\Anwendungsdaten\DassaultSystemes\CATEnv"
This eventually stops in the debugger, giving a backtrace like this (it's short, so inline):
=>1 0xf7fc642e (0x0033f270) 2 0x00000800 (0x0033f3b0) 3 0x7b84ab74 ReadFile+0x191(hFile=0x4c, buffer=0x33f448, bytesToRead=2048, bytesRead=0x33fcc0, overlapped=(nil)) [/home/mah/wine/dlls/kernel32/file.c:451] in kernel32 (0x0033f420) 4 0x0040367b in catstart (+0x367b) (0x0033fc58)
file.c, line 451 reads:
status = NtReadFile(hFile, hEvent, NULL, cvalue, io_status, buffer, bytesToRead, poffset, NULL);
To my knowledge, the second line of the backtrace shouldn't read 0x00000800 but something in NtReadFile.
Last not least I've seen Catia halts in the debugger always at the exact same place, if the steps done to reproduce the bug are identical.