Hello, I want to make wine run a qt-based commercial, large windows app. I run wine 0.9.22 on gentoo amd64 and can successfully run other applications. The app in question starts up fine, asks for which modules to use and then proceeds to constructs a temporary config file for itself. However, it then proceeds with an error message by itself that it encountered a problem parsing this config file at line 1, and after that there are many more parsing errors. I compared such constructed config files under wine and ms windows and they are identical, including frequent weird end-of-line markers such as \r\r\n. Under windows this file is processed successfully. Here is the beginning of such a config file: ^M # 1 "C:\Program Files\EarthDecision\2.1.2b\Gocad\lib\commands\Gocad.commands.cli"^M ^M^M ^M # 19^M ^M^M ^M ^M ^M^M ^M # 1 "C:\Program Files\EarthDecision\2.1.2b\Gocad\lib/commands/types.cli"^M ^M^M ^M # 19^M ^M^M ^M ^M ^M^M Parameter Int {^M^M type int ;^M^M }^M^M ^M^M Parameter Long {^M^M type ssize_t ;^M^M }^M^M ^M^M Parameter String {^M^M type string;^M^M ctype char *;^M^M ~String() { delete[] } ;^M^M }^M^M ^M^M ... produced with cat -v And here is the critical debug output from WINEDEBUG=+all,-relay 000d:trace:ntdll:NtReadFile = 0x00000000 (8192) 000d:trace:msvcrt:read_i (8192), "\r\n# 1 \"C:\\Program Files\\EarthDecision\\2.1.2b\\Gocad\\lib\\commands\\Gocad.commands.cli\"\r\n\r\r\n\r\n# 19\r\n\r\r\n\r\n\r\n\r\r\n\r\n# 1 \"C:\\Program Files\\EarthDecision\\2.1.2b\\Gocad\\lib/commands/types.cli\"\r\n\r\r\n\r\n# 19\r\n\r\r\n\r\n\r\n\r\r\nParameter Int {\r\r\n type int ;\r\r\n"... 000d:trace:msvcrt:read_i :fd (5) handle (0x17c) buf (0xbefa18) len (574) 000d:trace:file:ReadFile 0x17c 0xbefa18 574 0x34ef60 (nil) 000d:trace:ntdll:NtReadFile (0x17c,(nil),(nil),(nil),0x34ef18,0xbefa18,0x0000023e,(nil),(nil)),partial stub! 000d: get_handle_fd( handle=0x17c, access=00000001 ) 000d: get_handle_fd() = 0 { fd=32, removable=0, flags=0 } 000d:trace:ntdll:NtReadFile = 0x00000000 (574) 000d:trace:msvcrt:read_i (574), " name) {\r\r\n StyleInfo * si StyleCatalog::instance()->find(name);\r\r\n return si ? si-> style() : nil;\r\r\n };\r\r\n}\r\r\n\r\r\nParameter CoordinateSystem {\r\r\n type string;\r\r\n ctype HomogeneousCoordinateSystem*;\r\r\n include \"Gocad/geobase/base/geobaselib.h\" ;\r"... 000d:trace:msvcrt:read_i :fd (5) handle (0x17c) buf (0xbefa18) len (30) 000d:trace:file:ReadFile 0x17c 0xbefa18 30 0x34ef60 (nil) 000d:trace:ntdll:NtReadFile (0x17c,(nil),(nil),(nil),0x34ef18,0xbefa18,0x0000001e,(nil),(nil)),partial stub! 000d: get_handle_fd( handle=0x17c, access=00000001 ) 000d: get_handle_fd() = 0 { fd=32, removable=0, flags=0 } 000d:trace:ntdll:NtReadFile = 0x00000000 (30) 000d:trace:msvcrt:read_i (30), " } else {\r\r\n p" 000d:trace:file:ReadFile 0x17c 0xbefa18 2 0x34ef60 (nil) 000d:trace:ntdll:NtReadFile (0x17c,(nil),(nil),(nil),0x34ef18,0xbefa18,0x00000002,(nil),(nil)),partial stub! 000d: get_handle_fd( handle=0x17c, access=00000001 ) 000d: get_handle_fd() = 0 { fd=32, removable=0, flags=0 } 000d:trace:ntdll:NtReadFile = 0x00000000 (2) 000d:CALL Gocad_utils.?duplicate@Str@@SAPADPBD@Z(66ca4044) ret=66c025d6 000d:trace:heap:RtlAllocateHeap (0x110000,00000002,00000003): returning 0xbea3d0 000d:trace:msvcrt:MSVCRT_operator_new (3) returning 0xbea3d0 000d:trace:msvcrt:_lock (9) 000d:trace:msvcrt:_unlock (9) 000d:RET Gocad_utils.?duplicate@Str@@SAPADPBD@Z() retval=00bea3d0 ret=66c025d6 000d:CALL Gocad_utils.?out@CriticalError@@SAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@XZ(<unknown, check return>(0x110000,00000002,00000040): returning 0xbdd580 ) ret=66c08dec I tried many native windows dlls including msvcrt but to no avail. Is there a possibility that wine confuses the app., perhaps triggered by the exotic \r\r\n occurrences ? Any hints appreciated, Andreas
I produced a giant debug log (+600MB) with WINEDEBUG=+relay and identified the section where the config file is read and the error message prepared: ... 000d:Call ntdll.strncpy(00928be8,001d11b0 "c:\\windows\\temp\\gocad_cli_01b224a8-6416b4a0- 035b-d806090867ec",0000003d) ret=665e8c04 000d:Ret ntdll.strncpy() retval=00928be8 ret=665e8c04 000d:Call msvcrt.malloc(00000028) ret=66c0309b 000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000028) ret=7edc46a7 000d:Ret ntdll.RtlAllocateHeap() retval=0098c300 ret=7edc46a7 000d:Ret msvcrt.malloc() retval=0098c300 ret=66c0309b 000d:Call msvcrt.malloc(00004002) ret=66c0309b 000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00004002) ret=7edc46a7 000d:Ret ntdll.RtlAllocateHeap() retval=0099ea70 ret=7edc46a7 000d:Ret msvcrt.malloc() retval=0099ea70 ret=66c0309b 000d:Call msvcrt.fread(0099ea70,00000001,00002000,008c51f0) ret=66c02ae9 000d:Call kernel32.ReadFile(00000188,0099ea70,00002000,0034eeb8,00000000) ret=7edc04e6 000d:Call ntdll.NtReadFile(00000188,00000000,00000000,00000000,0034edc0,0099ea70,00002000, 00000000,00000000) ret=7ee658af 000d:Ret ntdll.NtReadFile() retval=00000000 ret=7ee658af 000d:Ret kernel32.ReadFile() retval=00000001 ret=7edc04e6 000d:Call kernel32.ReadFile(00000188,0099ea70,0000023e,0034eeb8,00000000) ret=7edc04e6 000d:Call ntdll.NtReadFile(00000188,00000000,00000000,00000000,0034edc0,0099ea70,0000023e, 00000000,00000000) ret=7ee658af 000d:Ret ntdll.NtReadFile() retval=00000000 ret=7ee658af 000d:Ret kernel32.ReadFile() retval=00000001 ret=7edc04e6 000d:Call kernel32.ReadFile(00000188,0099ea70,0000001e,0034eeb8,00000000) ret=7edc04e6 000d:Call ntdll.NtReadFile(00000188,00000000,00000000,00000000,0034edc0,0099ea70,0000001e, 00000000,00000000) ret=7ee658af 000d:Ret ntdll.NtReadFile() retval=00000000 ret=7ee658af 000d:Ret kernel32.ReadFile() retval=00000001 ret=7edc04e6 000d:Call kernel32.ReadFile(00000188,0099ea70,00000002,0034eeb8,00000000) ret=7edc04e6 000d:Call ntdll.NtReadFile(00000188,00000000,00000000,00000000,0034edc0,0099ea70,00000002, 00000000,00000000) ret=7ee658af 000d:Ret ntdll.NtReadFile() retval=00000000 ret=7ee658af 000d:Ret kernel32.ReadFile() retval=00000001 ret=7edc04e6 000d:Ret msvcrt.fread() retval=00002000 ret=66c02ae9 000d:Call msvcrt.??2@YAPAXI@Z(00000003) ret=665e8bac 000d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000003) ret=7edc3f4a 000d:Ret ntdll.RtlAllocateHeap() retval=008f3698 ret=7edc3f4a 000d:Call ntdll.RtlEnterCriticalSection(7edf7f00) ret=7edc5e8a 000d:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7edc5e8a 000d:Call ntdll.RtlLeaveCriticalSection(7edf7f00) ret=7edc5dcc 000d:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7edc5dcc 000d:Ret msvcrt.??2@YAPAXI@Z() retval=008f3698 ret=665e8bac 000d:Call ntdll.strlen(666599e0 "Error: ") ret=780c26d5 ... Unfortunately this is not helpful to me, but it may be to somebpdy else ? Andreas
ap wrote:> Hello, > > I want to make wine run a qt-based commercial, large windows app. I run > wine 0.9.22 on gentoo amd64 and can successfully run other > applications. The app in question starts up fine, asks for which > modules to use and then proceeds to constructs a temporary config file > for itself. However, it then proceeds with an error message by itself > that it encountered a problem parsing this config file at line 1, and > after that there are many more parsing errors. >That version of Wine had quite a few errors in the file reading functions. Have you tried the most recent Wine? I suppose this large commercial app has not free trial version? I'll try to take a look at your traces this weekend a bit more, and see if I can see something.> I tried many native windows dlls including msvcrt but to no avail.On the other hand, if you are confident that it was in fact using native msvcrt, then the problem would appear to be more subtle. You can always verify whether it is in fact loading the native DLLs and by setting a WINEDEBUG environment variable to +loaddll. Only pay attention to the end of each line where it says "builtin" or "native".
On Nov 28, 2:20 pm, Duane Clark <junkm...@junkmail.com> wrote:> ap wrote: > > On Nov 28, 12:07 pm, Duane Clark <junkm...@junkmail.com> wrote: > >> That version of Wine had quite a few errors in the file reading > >> functions. Have you tried the most recent Wine? > > > No, just 0.9.22 which I thought was quite recent. If there are known > > file reading problems, the latest may definitely be worth trying.Yes, that would definitely be worth a try. There have been several > patches since then to fix bugs in that area. The most recent Wine > version is 0.9.26, and that would be the one to try. >Ok, I will put this on.> > andreas@fels ~/.wine/drive_c/windows/temp $ grep -i msvcrt dll.out > > trace:loaddll:load_native_dll Loaded module > > L"C:\\windows\\system32\\MSVCRT.dll" : native > > trace:loaddll:load_builtin_dll Loaded module > > L"c:\\windows\\system32\\msvcrt.dll" : builtin > > > So it seems to load first the native and then later the builtin ?Hmm... I am not sure why it would do that. I am guessing you set the > override only for the application? If so, try setting it for everything > (all applications should work fine with a native msvcrt), and see if > that works.I set the default in winecfg to native msvcrt. Now only the native dll loads, and the error message disappears ! So, there seems to be a problem with the builtin msvrct. Of course, now the app crashes just after it is done initializing the user interface according to its start-up messages and just before it want to create the main window with the menus and a 3d display area. I will try to produce debug output for that as well and will try to mroe default native dlls. Andreas
ap wrote:> On Nov 28, 8:11 pm, "ap" <andreasple...@gmail.com> wrote: >> On Nov 28, 4:41 pm, Duane Clark <junkm...@junkmail.com> wrote: >> >> What happens with 0.9.26 is that now the main window comes up and most >> of the menues, and toolbars are drawn, but not all. Then there is no >> crash but also no way to access the app by keyboard or mouse. It seems >> to be running, however. I tried with and without managed windows and >> virtual desktop, all with the same result. >> > > It turns out that there was a startup dialog hidden behind the main > window. I could finally access it with keyboard shortcuts while in the > virtual desktop. > > The main 3d viewing area is not drawn at all. What would I need to do > debug ?The 3d code is something I know nothing about personally. Unless someone jumps in here with something, I would suggest filing a bug at: http://bugs.winehq.org/ The developers of this code are very active at the moment (for the past year actually), so hopefully one of them will be able to help. You probably need to mention what version of the 3d driver it uses, and what your video card is.
On Nov 29, 10:54 pm, Duane Clark <junkm...@junkmail.com> wrote:> ap wrote: > > > The main 3d viewing area is not drawn at all. What would I need to do > > debug ? > The 3d code is something I know nothing about personally. Unless someone > jumps in here with something, I would suggest filing a bug at:http://bugs.winehq.org/ > The developers of this code are very active at the moment (for the past > year actually), so hopefully one of them will be able to help. You > probably need to mention what version of the 3d driver it uses, and what > your video card is.Thanks, I found http://wiki.winehq.org/OpenGL?highlight=%28opengl%29 which seems to indicate that windowed opengl in general is problem, perhaps impossible. Well, probably the things I need to do in the app, I can do blindly without seeing much.