[Bug 27827] New: Creo Elements/Direct Modeling Express 4.0 loader failure due to missing msvcrt.dll dependency

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jul 18 13:29:53 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=27827

           Summary: Creo Elements/Direct Modeling Express 4.0 loader
                    failure due to missing msvcrt.dll dependency
           Product: Wine
           Version: 1.3.24
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net


Hello,

a user reported a problem with this app on IRC #winehq.
It seems there is a dll dependency to msvcrt.dll not present with Wine dlls.

--- snip ---
...
0025:Call PE DLL (proc=0x5c172245,module=0x5c170000
L"redirect.dll",reason=PROCESS_ATTACH,res=0x1)
0025:Call KERNEL32.GetEnvironmentVariableW(5c17309c
L"SDREDIRECTION",5c175f30,00000040) ret=5c171d99
0025:Ret  KERNEL32.GetEnvironmentVariableW() retval=00000000 ret=5c171d99
0025:Call KERNEL32.lstrcmpiW(5c173810 L"no",5c1730b8 L"") ret=5c17228a
0025:Ret  KERNEL32.lstrcmpiW() retval=00000001 ret=5c17228a
0025:Call KERNEL32.SetEnvironmentVariableW(5c1738c0 L"_NO_DEBUG_HEAP",5c1738bc
L"1") ret=5c1722b1
0025:Ret  KERNEL32.SetEnvironmentVariableW() retval=00000001 ret=5c1722b1
0025:Call KERNEL32.GetModuleHandleW(00000000) ret=5c1722e0
0025:Ret  KERNEL32.GetModuleHandleW() retval=00400000 ret=5c1722e0
0025:Call KERNEL32.GetProcAddress(00400000,5c173954 "ThreadAttached")
ret=5c1722e7
0025:Ret  KERNEL32.GetProcAddress() retval=004e6e20 ret=5c1722e7
0025:Call KERNEL32.GetModuleHandleW(00000000) ret=5c1722f9
0025:Ret  KERNEL32.GetModuleHandleW() retval=00400000 ret=5c1722f9
0025:Call KERNEL32.GetProcAddress(00400000,5c173964 "ThreadDetached")
ret=5c172300
0025:Ret  KERNEL32.GetProcAddress() retval=004e6e40 ret=5c172300
0025:Call KERNEL32.GetModuleHandleW(5c173624 L"MSVCRT") ret=5c17212b
0025:trace:module:LdrGetDllHandle L"MSVCRT" -> (nil) (load path L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem")
0025:Ret  KERNEL32.GetModuleHandleW() retval=00000000 ret=5c17212b
0025:Call KERNEL32.GetProcAddress(00000000,5c173618 "setlocale") ret=5c172132
0025:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=5c172132
0025:Call KERNEL32.OutputDebugStringW(5c173650 L"redirect: Cannot find
setlocale() in msvcrt.dll.") ret=5c17214b
0025:Ret  KERNEL32.OutputDebugStringW() retval=0032fc80 ret=5c17214b
0025:Call KERNEL32.lstrcmpiW(5c173610 L"try",5c1730b8 L"") ret=5c172230
0025:Ret  KERNEL32.lstrcmpiW() retval=00000001 ret=5c172230
0025:Call KERNEL32.RaiseException(0000002c,00000000,00000000,00000000)
ret=5c172243
0025:trace:seh:raise_exception code=2c flags=0 addr=0x683704bb ip=683704bb
tid=0025
0025:trace:seh:raise_exception  eax=6835dc85 ebx=683e06c4 ecx=00000000
edx=00000010 esi=0032fd18 edi=0032fc90
0025:trace:seh:raise_exception  ebp=0032fc78 esp=0032fc14 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00200246
0025:trace:seh:call_stack_handlers calling handler at 0x7b9fbf2e code=2c
flags=0
0025:trace:seh:__regs_RtlUnwind code=2c flags=2
0025:trace:seh:__regs_RtlUnwind calling handler at 0x7b9e0be3 code=2c flags=2
0025:trace:seh:__regs_RtlUnwind handler at 0x7b9e0be3 returned 1
...
--- snip ---

The dll init code from "redirect.dll" assumes "msvcrt.dll" has already been
loaded (hence GetModuleHandleW).

There is an earlier loading attempt of "msvcrt.dll" due to Wine builtin
MSVCR100.dll which is later dropped because native MSVCR100.dll has precedence.

--- snip ---
...
0025:warn:module:load_builtin_dll failed to load .so lib for builtin
L"C:\\windows\\system32\\MSVCR100.dll":
/home/focht/.wine/dosdevices/c:/windows/system32/msvcr100.dll: invalid ELF
header
0025:trace:module:load_builtin_dll Trying built-in L"MSVCR100.dll"
0025:trace:module:load_dll looking for L"msvcrt.dll" in L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
0025:trace:module:get_load_order looking for
L"C:\\windows\\system32\\msvcrt.dll"
0025:trace:module:get_load_order got hardcoded default for L"msvcrt.dll"
0025:trace:module:load_dll L"C:\\windows\\system32\\msvcrt.dll" is a fake Wine
dll
0025:trace:module:load_builtin_dll Trying built-in L"msvcrt.dll"
0025:trace:module:load_dll looking for L"kernel32.dll" in L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
0025:trace:module:load_dll Found L"C:\\windows\\system32\\KERNEL32.dll" for
L"kernel32.dll" at 0x68350000, count=7
0025:trace:module:load_dll looking for L"ntdll.dll" in L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
0025:trace:module:load_dll Found L"C:\\windows\\system32\\ntdll.dll" for
L"ntdll.dll" at 0x7b980000, count=7
0025:trace:module:load_builtin_callback loaded msvcrt.dll 0x116490 0x68780000
0025:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\msvcrt.dll"
at 0x68780000: builtin
0025:trace:module:load_dll Loaded module L"C:\\windows\\system32\\msvcrt.dll"
(builtin) at 0x68780000
0025:trace:module:load_dll looking for L"kernel32.dll" in L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
0025:trace:module:load_dll Found L"C:\\windows\\system32\\KERNEL32.dll" for
L"kernel32.dll" at 0x68350000, count=8
0025:trace:module:load_builtin_callback loaded msvcr100.dll 0x116398 0x68740000
0025:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\msvcr100.dll" at 0x68740000: builtin
0025:Call PE DLL (proc=0x6874bac4,module=0x68740000
L"msvcr100.dll",reason=WINE_PREATTACH,res=(nil))
0025:Ret  PE DLL (proc=0x6874bac4,module=0x68740000
L"msvcr100.dll",reason=WINE_PREATTACH,res=(nil)) retval=0
0025:trace:module:load_dll L"C:\\windows\\system32\\MSVCR100.dll" pre-attach
returned FALSE, preferring native
0025:trace:module:LdrUnloadDll (0x68740000)
0025:trace:module:LdrUnloadDll (L"msvcr100.dll") - START
0025:trace:module:MODULE_DecRefCount (L"msvcr100.dll") ldr.LoadCount: 0
0025:trace:module:MODULE_DecRefCount (L"msvcrt.dll") ldr.LoadCount: 0
0025:trace:module:MODULE_DecRefCount (L"KERNEL32.dll") ldr.LoadCount: 7
0025:trace:module:MODULE_DecRefCount (L"ntdll.dll") ldr.LoadCount: 6
0025:trace:module:MODULE_DecRefCount (L"KERNEL32.dll") ldr.LoadCount: 6
0025:trace:module:free_modref  unloading L"C:\\windows\\system32\\msvcrt.dll"
0025:trace:module:free_modref  unloading L"C:\\windows\\system32\\msvcr100.dll"
0025:trace:module:LdrUnloadDll END
0025:trace:module:load_native_dll Trying native dll
L"C:\\windows\\system32\\MSVCR100.dll" 
...
--- snip ---

It would be helpful if someone could install the app on Windows and load
"SolidDesigner.exe" main executable in Dependency Walker Tool
(http://www.dependencywalker.com/) to figure out which dll pulls in
"msvcrt.dll".

In the listview select "msvcrt.dll" and then right click context menu
"highlight matching module in tree".
This would ideally show the parent dll in tree view that pulls in the
dependency.

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list