[Bug 20777] Unigine Heaven benchmark crashes on load (SHDocVw.dll interop dll not loaded)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Aug 2 17:05:45 CDT 2010


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


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |ntdll
            Summary|Unigine Heaven benchmark    |Unigine Heaven benchmark
                   |crashes on load.            |crashes on load
                   |                            |(SHDocVw.dll interop dll
                   |                            |not loaded)




--- Comment #5 from Anastasius Focht <focht at gmx.net>  2010-08-02 17:05:44 ---
Hello,

well looks like another loader bug (might a dupe).

The .NET app embeds the webbrowser control (ActiveX browser component) in its
GUI.
When the .NET CLR loads one of the webbrowser interop assemblies, namely
"SHDocVw.dll" from the program folder, Wine instead sneaks in its own - builtin
version (due to default load order) - which confuses the .NET CLR.
The .NET CLR peeks at PE header structures, namely COM+ header -> .NET CLR
metadata and subsequently crashes because the wrong dll was loaded.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Unigine/Heaven

$ ls -la
total 68932
drwxrwxr-x. 5 focht focht     4096 2010-08-02 23:37 .
drwxrwxr-x. 3 focht focht     4096 2010-08-02 22:35 ..
-rw-rw-r--. 1 focht focht    49152 2009-10-14 19:51 AxSHDocVw.dll
-rw-rw-r--. 1 focht focht  1974616 2009-10-14 19:51 d3dcompiler_42.dll
-rw-rw-r--. 1 focht focht   453456 2009-10-14 19:51 d3dx10_42.dll
-rw-rw-r--. 1 focht focht  1892184 2009-10-14 19:51 d3dx9_42.dll
drwxrwxr-x. 3 focht focht     4096 2010-08-02 22:35 data
drwxrwxr-x. 2 focht focht     4096 2010-08-02 22:35 html
-rw-rw-r--. 1 focht focht      524 2009-10-14 19:51 Microsoft.VC90.CRT.manifest
-rw-rw-r--. 1 focht focht   224768 2009-10-14 19:51 msvcm90.dll
-rw-rw-r--. 1 focht focht   568832 2009-10-14 19:51 msvcp90.dll
-rw-rw-r--. 1 focht focht   655872 2009-10-14 19:51 msvcr90.dll
drwxrwxr-x. 2 focht focht     4096 2010-08-02 22:35 redist
-rw-rw-r--. 1 focht focht   131072 2009-10-14 19:51 SHDocVw.dll
-rwxrwxr-x. 1 focht focht    69632 2009-10-22 20:58 unigine.exe
-rw-rw-r--. 1 focht focht  5500928 2009-10-22 20:58 Unigine_x86.dll
-rw-rw-r--. 1 focht focht     4864 2009-10-22 20:58 unigine.xml
--- snip ---

SHDocVw.dll and AxSHDocVw.dll are the interop dlls (contain .NET CLR metadata
header) for the ActiveX browser component, provided by app.
These assemblies are generated by running "aximp" tool on Windows system32
"shdocvw.dll".

--- snip ---
003c:Call KERNEL32.LoadLibraryExW(0017b3a8 L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll",00000000,00000009) ret=79e862c8
003c:trace:module:load_dll looking for L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll" in L"C:\\Program
Files\\Unigine\\Heaven;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
003c:trace:module:get_load_order looking for L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll"
003c:trace:module:get_load_order got hardcoded default for L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll"
003c:trace:module:load_builtin_dll Trying built-in L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll"
003c:warn:module:load_builtin_dll failed to load .so lib for builtin
L"C:\\Program Files\\Unigine\\Heaven\\SHDocVw.dll":
/home/focht/.wine/dosdevices/c:/Program Files/Unigine/Heaven/SHDocVw.dll:
invalid ELF header
003c:trace:module:load_builtin_dll Trying built-in L"SHDocVw.dll"
003c:trace:module:load_builtin_dll Found L"C:\\windows\\system32\\shdocvw.dll"
at 0x38c10000 for builtin L"C:\\Program Files\\Unigine\\Heaven\\SHDocVw.dll"
003c:Call PE DLL (proc=0x38c2bc50,module=0x38c10000
L"shdocvw.dll",reason=WINE_PREATTACH,res=(nil))
003c:Ret  PE DLL (proc=0x38c2bc50,module=0x38c10000
L"shdocvw.dll",reason=WINE_PREATTACH,res=(nil)) retval=1
003c:trace:module:load_dll Loaded module L"C:\\Program
Files\\Unigine\\Heaven\\SHDocVw.dll" (builtin) at 0x38c10000
003c:Ret  KERNEL32.LoadLibraryExW() retval=38c10000 ret=79e862c8
...
003c:trace:seh:raise_exception code=c0000005 flags=0 addr=0x79ec122b
ip=79ec122b tid=003c
003c:trace:seh:raise_exception  info[0]=00000000
003c:trace:seh:raise_exception  info[1]=00000010
003c:trace:seh:raise_exception  eax=00000000 ebx=00000008 ecx=00000000
edx=0000000e esi=00175758 edi=0017b2e0
003c:trace:seh:raise_exception  ebp=0032dd40 esp=0032dd1c cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210246
003c:trace:seh:call_vectored_handlers calling handler at 0x68b66120
code=c0000005 flags=0
003c:trace:seh:call_vectored_handlers handler at 0x68b66120 returned 0
003c:trace:seh:call_stack_handlers calling handler at 0x7a2f2d8c code=c0000005
flags=0
--- snip ---

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