[Wine] app has problems parsing its config file

ap andreasplesch at gmail.com
Mon Mar 19 00:51:15 CDT 2007


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 at Str@@SAPADPBD at 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 at Str@@SAPADPBD at Z() retval=00bea3d0
ret=66c025d6
000d:CALL
Gocad_utils.?out at CriticalError@@SAAAV?$basic_ostream at DU?$char_traits at 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



More information about the wine-users mailing list