[Bug 38510] STDU (Scientific and Technical Documentation Utility) Viewer v1.6.375 crashes when opening PDF file (typelib information for marshaller from registry-free COM server)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jun 27 16:45:22 CDT 2015


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://www.portablefreeware
                   |                            |.com/download.php?dd=2045
                 CC|                            |focht at gmx.net
          Component|-unknown                    |oleaut32
            Summary|STDU viewer crashes on      |STDU (Scientific and
                   |opening file                |Technical Documentation
                   |                            |Utility) Viewer v1.6.375
                   |                            |crashes when opening PDF
                   |                            |file (typelib information
                   |                            |for marshaller from
                   |                            |registry-free COM server)
     Ever confirmed|0                           |1

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

The app uses registry-free COM servers (app manifest).

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+actctx wine ./STDUViewerApp.exe >>log.txt 2>&1
...
0026:trace:actctx:RtlCreateActivationContext 0xffbb3c8c 00000088
0026:trace:actctx:get_manifest_in_module looking for res #0001 in module
0x400000 L"Z:\\home\\focht\\Downloads\\STDUViewerApp.exe"
0026:trace:actctx:get_manifest_in_associated_manifest looking for manifest
associated with (null) id 1
0026:trace:actctx:get_manifest_in_manifest_file loading manifest file
L"\\??\\Z:\\home\\focht\\Downloads\\STDUViewerApp.exe.manifest"
0026:trace:actctx:parse_manifest parsing manifest loaded from
L"\\??\\Z:\\home\\focht\\Downloads\\STDUViewerApp.exe.manifest" base dir (null)
0026:trace:actctx:parse_assembly_elem (0xffbb3a5c)
0026:trace:actctx:parse_assembly_identity_elem name=L"STDUViewerApp"
version=1.0.0.0 arch=(null)
0026:warn:actctx:parse_assembly_identity_elem Unsupported yet language
attribute (L"*")
0026:trace:actctx:parse_assembly_identity_elem
name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86"
0026:trace:actctx:parse_dependent_assembly_elem adding
name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86"
0026:trace:actctx:parse_file_elem name=L"STDUCore.dll"
0026:trace:actctx:parse_file_elem name=L"STDUComicFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUDjVuFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUFB2File.dll"
0026:trace:actctx:parse_file_elem name=L"STDUImageFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUJBIG2File.dll"
0026:trace:actctx:parse_file_elem name=L"STDUPCXFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUPDFFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUTextFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUTiffFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUXPSFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUPalmDocFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUMOBIFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUEPubFile.dll"
0026:trace:actctx:parse_file_elem name=L"STDUViewer.dll" 
...
002a:Call ole32.CoCreateInstance(011572dc,00000000,00000017,01158780,012ce978)
ret=010888c8
002a:Call ntdll.RtlInitUnicodeString(012ce6d0,012ce722
L"CLSID\\{2BB2E135-4B81-4840-B7CD-A744DD236AB0}") ret=7e3ca3a1
002a:Ret  ntdll.RtlInitUnicodeString() retval=012ce6d0 ret=7e3ca3a1 
...
002a:Call
KERNEL32.FindActCtxSectionGuid(00000001,00000000,00000004,012ce878,012ce75c)
ret=7e3cfdf3
002a:trace:actctx:RtlFindActivationContextSectionGuid 00000001 (null) 4
{2bb2e135-4b81-4840-b7cd-a744dd236ab0} 0x12ce75c
002a:Ret  KERNEL32.FindActCtxSectionGuid() retval=00000001 ret=7e3cfdf3 
...
0026:Call KERNEL32.ActivateActCtx(00115648,0033c5c4) ret=7e3cca28
0026:trace:actctx:RtlActivateActivationContext 0x115648 cookie=e42588
0026:Ret  KERNEL32.ActivateActCtx() retval=00000001 ret=7e3cca28
0026:Call KERNEL32.SearchPathW(00000000,00154fca
L"STDUCore.dll",00000000,00000105,0033c622,00000000) ret=7e3cca5c
0026:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2
L"STDUCore.dll" 0x33c228
0026:trace:actctx:RtlQueryInformationActivationContext 00000000 0x115648
0x33c24c 3 0xe53078 1024 0x33c21c
...
0026:Call KERNEL32.LoadLibraryExW(0033c622
L"Z:\\home\\focht\\Downloads\\STDUCore.dll",00000000,00000008) ret=7e3ca50b
0026:Call PE DLL (proc=0xd46cc8,module=0xd40000
L"STDUCore.dll",reason=PROCESS_ATTACH,res=(nil)) 
...
0026:Ret  PE DLL (proc=0xd46cc8,module=0xd40000
L"STDUCore.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
0026:Ret  KERNEL32.LoadLibraryExW() retval=00d40000 ret=7e3ca50b 
...
0026:Call
KERNEL32.FindActCtxSectionGuid(00000000,00000000,00000005,012ce47c,0033c1b8)
ret=7e3cf036
0026:trace:actctx:RtlFindActivationContextSectionGuid 00000000 (null) 5
{00000001-0000-0000-c000-000000000046} 0x33c1b8
0026:Ret  KERNEL32.FindActCtxSectionGuid() retval=00000000 ret=7e3cf036
...
0026:Call
KERNEL32.FindActCtxSectionGuid(00000001,00000000,00000004,0033c2fc,0033c1ec)
ret=7e3cfdf3
0026:trace:actctx:RtlFindActivationContextSectionGuid 00000001 (null) 4
{00000320-0000-0000-c000-000000000046} 0x33c1ec
0026:Ret  KERNEL32.FindActCtxSectionGuid() retval=00000000 ret=7e3cfdf3 
...
0026:Call ole32.DllGetClassObject(0033c2fc,7e4b65a8,0033c340) ret=7e3cc852
0026:Call
rpcrt4.NdrDllGetClassObject(0033c2fc,7e4b65a8,0033c340,7e4effe4,7e4a1ac0,7e4f0080)
ret=7e4312a4
0026:Ret  rpcrt4.NdrDllGetClassObject() retval=00000000 ret=7e4312a4
0026:Ret  ole32.DllGetClassObject() retval=00000000 ret=7e3cc852 
...
0026:Call
rpcrt4.RpcServerRegisterIfEx(00e52c3c,00000000,00000000,00000003,000004d2,00000000)
ret=7e40a352 
...
0026:Ret  rpcrt4.RpcServerRegisterIfEx() retval=00000000 ret=7e40a352 
...
002a:Ret  user32.SendMessageW() retval=00000000 ret=7e3cd288 
...
002a:Call rpcrt4.RpcStringBindingComposeW(00000000,7e4eff80
L"ncalrpc",00000000,012ce054 L"\\pipe\\OLE_0000002500000026",00000000,012ce04c)
ret=7e40909c 
...
0026:Ret  oleaut32.DllGetClassObject() retval=00000000 ret=7e3cc852
0026:Call advapi32.RegCloseKey(000000f4) ret=7e3d006a
0026:Ret  advapi32.RegCloseKey() retval=00000000 ret=7e3d006a
0026:Call advapi32.RegOpenKeyExA(80000000,0033be68
"Interface\\{3905360d-3c87-498c-93d2-27e002b941b1}\\Typelib",00000000,00020019,0033c18c)
ret=7e1cf9b4
0026:Ret  advapi32.RegOpenKeyExA() retval=00000002 ret=7e1cf9b4
...
0026:err:ole:_get_typeinfo_for_iid No
Interface\{3905360d-3c87-498c-93d2-27e002b941b1}\Typelib key found.
0026:err:ole:PSFacBuf_CreateStub No typeinfo for
{3905360d-3c87-498c-93d2-27e002b941b1}?
0026:err:ole:marshal_object Failed to create an IRpcStubBuffer from IPSFactory
for {3905360d-3c87-498c-93d2-27e002b941b1} with error 0x80004005
0026:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub,
hres=0x80004005
0026:err:ole:CoMarshalInterface Failed to marshal the interface
{3905360d-3c87-498c-93d2-27e002b941b1}, 80004005 
...
0026:Ret  ole32.CoMarshalInterface() retval=80004005 ret=7e32b749
...
0026:Call KERNEL32.RaiseException(80004005,00000000,00000000,00000000)
ret=7e34d58a
0026:trace:seh:raise_exception code=80004005 flags=0 addr=0x7b8456d9
ip=7b8456d9 tid=0026
0026:trace:seh:raise_exception  eax=7b832575 ebx=0033c610 ecx=0033c520
edx=00000000 esi=0033c570 edi=0033c530
0026:trace:seh:raise_exception  ebp=0033c508 esp=0033c4a4 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200246 
...
002a:Call KERNEL32.RaiseException(80004005,00000000,00000000,00000000)
ret=7e34d58a
0026:Call user32.PeekMessageW(0033cdc4,00000000,00000000,00000000,00000000)
ret=00406553
002a:trace:seh:raise_exception code=80004005 flags=0 addr=0x7b8456d9
ip=7b8456d9 tid=002a
002a:trace:seh:raise_exception  eax=7b832575 ebx=012ce5a0 ecx=012ce4b0
edx=00000000 esi=012ce500 edi=012ce4c0
002a:trace:seh:raise_exception  ebp=012ce498 esp=012ce434 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200246
002a:trace:seh:call_stack_handlers calling handler at 0x7e49d35a code=80004005
flags=0 
...
002d:fixme:ole:CoCreateInstance no instance created for interface
{3905360d-3c87-498c-93d2-27e002b941b1} of class
{2bb2e135-4b81-4840-b7cd-a744dd236ab0}, hres is 0x80004005
002d:Ret  ole32.CoCreateInstance() retval=80004005 ret=010888c8
002d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10888ce ip=010888ce
tid=002d
002d:trace:seh:raise_exception  info[0]=00000000
002d:trace:seh:raise_exception  info[1]=00000000
002d:trace:seh:raise_exception  eax=00000000 ebx=007a0624 ecx=007adaa0
edx=012cef4c esi=0000062a edi=007eca78
002d:trace:seh:raise_exception  ebp=00000000 esp=012ce968 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210202
002d:trace:seh:call_stack_handlers calling handler at 0x1151498 code=c0000005
flags=0
002d:trace:seh:call_stack_handlers handler at 0x1151498 returned 1
002d:trace:seh:call_stack_handlers calling handler at 0x100a0b00 code=c0000005
flags=0
002d:trace:seh:call_stack_handlers handler at 0x100a0b00 returned 1
002d:trace:seh:call_stack_handlers calling handler at 0x7bcab007 code=c0000005
flags=0 
...
--- snip ---

Relevant part of 'STDUViewerApp.exe.manifest':

--- snip ---
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="STDUViewerApp" type="win32" version="1.0.0.0">
</assemblyIdentity>
<dependency>
  <dependentAssembly>
    <assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls"
processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" type="win32"
version="6.0.0.0">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
<file name="STDUCore.dll">
...
  <comClass clsid="{2BB2E135-4B81-4840-B7CD-A744DD236AB0}"
threadingModel="apartment" tlbid="{A11D2AA5-3D39-448E-B9D0-177A73707C98}">
  </comClass>
...
  <typelib helpdir="" tlbid="{A11D2AA5-3D39-448E-B9D0-177A73707C98}"
version="1.0">
  </typelib>
</file>
...
<comInterfaceExternalProxyStub
baseInterface="{00000000-0000-0000-C000-000000000046}"
iid="{3905360D-3C87-498C-93D2-27E002B941B1}" name="ISTDUImage"
proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"
tlbid="{A11D2AA5-3D39-448E-B9D0-177A73707C98}">
</comInterfaceExternalProxyStub>
...
--- snip ---

Bug 25340 added support for registry-free COM servers some time ago.

The proxy and stub code is included with the COM server executable
'STDUCore.dll' hence 'comInterfaceExternalProxyStub' element.

The 'typelib' element is required so the marshaller can find the type library
which lives in the same COM server.

$  sha1sum stduviewer.zip 
ad56b235048a118b990e12142ca9c8a359e519eb  stduviewer.zip

$ du -sh stduviewer.zip 
3.5M    stduviewer.zip

$ wine --version
wine-1.7.46

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