[Bug 29709] Atomic Mail Sender 4.25 crashes

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jan 3 16:42:34 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=29709

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |mshtml
            Version|unspecified                 |1.4-rc1

--- Comment #6 from Anastasius Focht <focht at 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={2d360200-fff5-11d1-8d03-00a0c959bc0a}

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

-- 
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