https://bugs.winehq.org/show_bug.cgi?id=29709
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |mshtml Version|unspecified |1.4-rc1
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The app can also be found using 'AtomicMailSender_425_setup.exe' search term.
Your backtrace shows:
--- snip --- 0009:Call ole32.CoCreateInstance(005ed634,00000000,00000005,004a11e4,00a27c68) ret=004a1194 0009:Call KERNEL32.FindActCtxSectionGuid(00000001,00000000,00000004,005ed634,0032f54c) ret=7e87e54f 0009:Ret KERNEL32.FindActCtxSectionGuid() retval=00000000 ret=7e87e54f 0009:Call ntdll.RtlInitUnicodeString(0032f3d4,7e95aac0 L"Machine\Software\Classes") ret=7e8782df 0009:Ret ntdll.RtlInitUnicodeString() retval=0032f3d4 ret=7e8782df 0009:Call ntdll.NtCreateKey(0032f3f4,02000000,0032f3dc,00000000,00000000,00000000,00000000) ret=7e878094 0009:Ret ntdll.NtCreateKey() retval=00000000 ret=7e878094 0009:Call ntdll.RtlInitUnicodeString(0032f460,0032f4b2 L"CLSID\{2D360200-FFF5-11D1-8D03-00A0C959BC0A}") ret=7e8784f6 0009:Ret ntdll.RtlInitUnicodeString() retval=0032f460 ret=7e8784f6 0009:Call ntdll.NtOpenKey(0032f4ac,00020019,0032f468) ret=7e878512 0009:Ret ntdll.NtOpenKey() retval=c0000034 ret=7e878512 ... 0009:err:ole:CoGetClassObject class {2d360200-fff5-11d1-8d03-00a0c959bc0a} not registered ... 0009:err:ole:create_server class {2d360200-fff5-11d1-8d03-00a0c959bc0a} not registered 0009:err:ole:CoGetClassObject no class object {2d360200-fff5-11d1-8d03-00a0c959bc0a} could be created for context 0x5 0009:Ret ole32.CoCreateInstance() retval=80040154 ret=004a1194 0009:Call KERNEL32.GetLastError() ret=00381fcf 0009:Ret KERNEL32.GetLastError() retval=00000002 ret=00381fcf ... 0009:Call KERNEL32.FormatMessageA(00003200,00000000,80040154,00000000,0032f4cc,00000100,00000000) ret=0040e808 0009:Ret KERNEL32.FormatMessageA() retval=00000000 ret=0040e808 0009:Call user32.LoadStringA(00400000,0000feaa,0032f1c4,00000400) ret=00407652 0009:Ret user32.LoadStringA() retval=0000000e ret=00407652 0009:Call KERNEL32.RaiseException(0eedfade,00000001,00000007,0032f604) ret=0049d671 0009:trace:seh:raise_exception code=eedfade flags=1 addr=0x7b83adba ip=7b83adba tid=0009 0009:trace:seh:raise_exception info[0]=0049d671 0009:trace:seh:raise_exception info[1]=00a279f8 0009:trace:seh:raise_exception info[2]=80040154 0009:trace:seh:raise_exception info[3]=0042999c 0009:trace:seh:raise_exception info[4]=00000000 0009:trace:seh:raise_exception info[5]=0032f73c 0009:trace:seh:raise_exception info[6]=0032f620 0009:trace:seh:raise_exception eax=7b826b2d ebx=7b8bbc4c ecx=0049d671 edx=0032f564 esi=0032f604 edi=0032f5d0 --- snip ---
CLSID '{2d360200-fff5-11d1-8d03-00a0c959bc0a}' is 'DHTML Edit Control for IE5' = ProgID 'DHTMLEdit.DHTMLEdit.1'.
http://mikolajapp.appspot.com/uuid/query?q=%7B2d360200-fff5-11d1-8d03-00a0c9...
The app ships two variants of DHTML control(s) in its application directory:
1) Windows XP: 'dhtmled.ocx'
Wine's replacement for Internet Explorer doesn't provide this obsolete stuff hence you would need to register the control by yourself.
Unfortunately the control itself depends on another one: '{438DA5E0-F171-11D0-984E-0000F80270F8}' -> 'TriEditDocument'.
The developers assumed that 'triedit.dll' will always be present due to "builtin" Internet Explorer component installations in various Windows versions. This is basically a blocker here unless this stuff is provided/implemented by Wine which doesn't make sense since it's obsoleted technology -> waste of time and resources.
Tidbit: If the DHTML Edit Control fails to instantiate 'TriEditDocument' COM inproc server on class load, it unregisters itself - hence the app will complain again about '{2d360200-fff5-11d1-8d03-00a0c959bc0a}' being unregistered on next startup.
2) Windows Vista onwards: 'dhtmled.msi'
http://msdn.microsoft.com/en-us/library/aa663363.aspx
You run the msi installer with WINEPREFIX WinVer set to 'Windows Vista'. After that you can "downgrade" to 'Windows XP' again.
Maybe a 'winetricks' recipe to download and install the DHTML Editing Control redistributable could be provided in future for that.
http://www.microsoft.com/en-us/download/details.aspx?id=8956
The DHTML TriEdit control creates a 'HTML document' instance via COM inproc server. It crashes in the end, after creating the instance and querying for 'IOleObject'.
--- snip --- ... 0023:Call ole32.CoCreateInstance(00f10f5c,00f40410,00000001,00f10fdc,00f40430) ret=00ee1fe5 0023:Call ntdll.RtlInitUnicodeString(0033f110,0033f162 L"CLSID\{25336920-03F9-11CF-8FD0-00AA00686F13}") ret=7e7e4764 ... 0023:trace:mshtml:DllGetClassObject (CLSID_HTMLDocument {00000001-0000-0000-c000-000000000046} 0x33f2d8) ... 0023:trace:mshtml:HTMLOuterWindow_Create 0x16e9b8 inner_window 0x16ea68 ... 0023:Call user32.CreateWindowExW(00000000,7d2a7fa0 L"Internet Explorer_Hidden",00000000,80000000,00000000,00000000,00000000,00000000,00000000,00000000,7d170000,00000000) ret=7d26b137 ... 0023:Ret user32.CreateWindowExW() retval=000100ae ret=7d26b137 0023:trace:mshtml:ClassFactory_Release (0x158320) ref = 0 0023:Call ntdll.RtlFreeHeap(00110000,00000000,00158320) ret=7d21bce8 0023:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7d21bce8 0023:Ret ole32.CoCreateInstance() retval=00000000 ret=00ee1fe5 0023:trace:mshtml:CustomDoc_QueryInterface (0x158510)->(IID_IOleObject 0xf40434) 0023:trace:mshtml:CustomDoc_AddRef (0x158510) ref = 2 0023:trace:mshtml:CustomDoc_Release (0x158510) ref = 1 0023:trace:mshtml:CustomDoc_Release (0x158510) ref = 0 ... 0023:trace:mshtml:nsWebBrowserChrome_Release (0x16d7a8) ref=0 0023:trace:mshtml:nsWeakReference_Release (0x16b488) ref=7 ... 0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0xee200d ip=00ee200d tid=0023 0023:trace:seh:raise_exception info[0]=00000000 0023:trace:seh:raise_exception info[1]=00000000 0023:trace:seh:raise_exception eax=00000000 ebx=00f40430 ecx=00f03a22 edx=00f40064 esi=00f40410 edi=00f40410 0023:trace:seh:raise_exception ebp=0033f3e8 esp=0033f3b8 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210216 0023:trace:seh:call_vectored_handlers calling handler at 0x701c6d78 code=c0000005 flags=0 --- snip ---
--- snip --- Wine-dbg>bt Backtrace: =>0 0x7d2cf748 CustomDoc_QueryInterface+0x1f3(iface=<couldn't compute location>, riid=<couldn't compute location>, ppv=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/mshtml/htmldoc.c:4705] in mshtml (0x0033f3d8) 1 0x7d2bd48e htmldoc_query_interface+0x28(This=0x142850, riid=0xef0f1c, ppv=0xf10434) [/home/focht/projects/wine/wine.repo/src/dlls/mshtml/mshtml_private.h:539] in mshtml (0x0033f408) 2 0x7d2bddc5 HTMLDocument_QueryInterface+0x31(iface=0x142850, riid=0xef0f1c, ppv=0xf10434) [/home/focht/projects/wine/wine.repo/src/dlls/mshtml/htmldoc.c:159] in mshtml (0x0033f434) 3 0x00ec1fff in triedit (+0x1ffe) (0x0033f478) 4 0x00ede520 in triedit (+0x1e51f) (0x0033f548) 5 0x10015412 in dhtmled (+0x15411) (0x00db0e64) --- snip ---
It looks like a problem with controlling IUnknown (CoCreateInstance). Wine's HTMLDocument::Create currently doesn't store it but the DHTML control checks/manipulates some memory location near the pointer which looks pretty much like a reference count. It decrements it after doing the QueryInterface and checks for non-zero. In zero case it goes on some shutdown path, causing 'mshtml' unload and subsequent crash.
Not sure what this bug should be really about.
Missing DHTML Edit Control implementations (undocumented and potentially obsolete)? Maybe it's possible to cheat by just providing an "outer" stubbed DHTML COM control. If the app makes real use of the WYSIWYG editing feature in HTML based emails this would be a lost cause.
Getting the native DHTML controls to work with Wine's builtin mshtml (undocumented, grey area)?
Both seem a waste of time and resources to me... but well.
You can work around using 'winetricks -q ie7' recipe.
$ sha1sum AtomicMailSender_425_setup.exe cba0226b5bfba9b793f3b40bd732ef64ef23e844 AtomicMailSender_425_setup.exe
$ du -sh AtomicMailSender_425_setup.exe 5.4M AtomicMailSender_425_setup.exe
$ wine --version wine-1.7.33-117-g6bab173
Regards