out-of-process COM design

Bill Medland billmedland at mercuryspeed.com
Sat Dec 18 09:46:42 CST 2004


On December 18, 2004 05:03 am, Robert Shearman wrote:
> Bill Medland wrote:
> >On December 17, 2004 01:56 pm, Mike Hearn wrote:
> >>On Fri, 17 Dec 2004 13:34:53 -0800, Bill Medland wrote:
> >>>Well, it gets me past the illegal memory reference; I can start looking
> >>>at what else failed now.
> >>
> >>In case you aren't already aware, Rob and I are doing a lot of work in
> >>this area currently. If you want to pool resources that'd be good.
> >> Posting a +ole trace of the failing app would be a good start.
> >>
> >>thanks -mike
> >
> >Pooling would be good.  I'll help as much as I can.
> >
CUT
>
> Here's an untested patch. Let me know if it works.
>
> Rob
If I combine it with Mike's patch I get the same null-Apt problem at a later point in the marshaling; I can give you a trace and bt if you want

If I combine it with Rob's CoInitializeEx patch rather than Mike's then it executes but still fails, as follows:

0009:trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
0009:trace:ole:CoGetClassObject 
	CLSID:	{b6b35894-dd6f-11d3-84ac-00c04f0e1b46},
	IID:	{00000001-0000-0000-c000-000000000046}
0009:warn:ole:CoGetClassObject class {B6B35894-DD6F-11D3-84AC-00C04F0E1B46} not registered inproc
0009:trace:ole:create_marshalled_proxy rclsid={b6b35894-dd6f-11d3-84ac-00c04f0e1b46}, iid={00000001-0000-0000-c000-000000000046}
0009:trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
0009:trace:ole:WINE_StringFromCLSID 0x456ed8->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
0009:trace:ole:create_server activating local server 'L"G:\\runtime\\a4wsignonmgr.exe -Embedding"' for {B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
0011:trace:ole:DllMain 0x409e0000 0x1 0x1
0009:warn:ole:create_marshalled_proxy Could not open named pipe to broker \\.\pipe\{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}, le is 2
0011:trace:ole:DllMain (0x40ab0000,1,0x1)
0011:trace:ole:CoInitializeEx ((nil), 2)
0011:trace:ole:CoInitializeEx () - Initializing the COM libraries
0011:trace:ole:RunningObjectTableImpl_Initialize ()
0011:trace:ole:WINE_StringFromCLSID 0x41f320->{A2086A6A-3F3E-457C-8102-A4F99AD7C2DA}
0011:trace:ole:CoRegisterClassObject ({b6b35894-dd6f-11d3-84ac-00c04f0e1b46},0x42130180,0x00000004,0x00000001,0x41f094)
0013:trace:ole:listener_thread Process listener thread starting on (\\.\pipe\WINE_OLE_StubMgr_0000001000000011)
0009:warn:ole:create_marshalled_proxy Could not open named pipe to broker \\.\pipe\{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}, le is 2
0009:warn:ole:create_marshalled_proxy Could not open named pipe to broker \\.\pipe\{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}, le is 2
0014:trace:ole:_LocalServerThread Starting threader for {b6b35894-dd6f-11d3-84ac-00c04f0e1b46}.
0014:trace:ole:CoInitializeEx ((nil), 2)
0014:trace:ole:WINE_StringFromCLSID 0x40246118->{B6B35894-DD6F-11D3-84AC-00C04F0E1B46}
0014:trace:ole:_LocalServerThread marshalling IClassFactory to client
0014:trace:ole:CoMarshalInterface (0x40237280, {00000001-0000-0000-c000-000000000046}, 0x42130180, 0, (nil), 0)
0014:trace:ole:CoGetStandardMarshal ({00000001-0000-0000-c000-000000000046},0x42130180,0,(nil),0,0x42641fd0)
0014:trace:ole:CoMarshalInterface Using standard marshaling
0014:trace:ole:CoMarshalInterface Calling IMarshal::MarshalInterace
0014:trace:ole:StdMarshalImpl_MarshalInterface (...,{00000001-0000-0000-c000-000000000046},...)
0014:trace:ole:CoGetPSClsid () riid={00000001-0000-0000-c000-000000000046}, pclsid=0x42641f64
0014:trace:ole:WINE_StringFromCLSID 0x40a221b4->{00000001-0000-0000-C000-000000000046}
0014:trace:ole:__CLSIDFromStringA {00000320-0000-0000-C000-000000000046} -> 0x42641f64
0014:trace:ole:CoGetPSClsid () Returning CLSID={00000320-0000-0000-c000-000000000046}
0014:trace:ole:WINE_StringFromCLSID 0x42641f64->{00000320-0000-0000-C000-000000000046}
0014:trace:ole:CoGetClassObject 
	CLSID:	{00000320-0000-0000-c000-000000000046},
	IID:	{d5f569d0-593b-101a-b569-08002b2dbf7a}
0014:trace:ole:COMPOBJ_DLLList_Add 
0014:trace:ole:PSFacBuf_CreateStub ({00000001-0000-0000-c000-000000000046},0x42130180,0x42641f50)
0009:trace:ole:CoUnmarshalInterface (0x40246d28, {00000001-0000-0000-c000-000000000046}, 0x406ef5dc)
0009:trace:ole:get_unmarshaler_from_stream Using standard unmarshaling
0009:trace:ole:StdMarshalImpl_UnmarshalInterface (...,{00000001-0000-0000-c000-000000000046},....)
0009:trace:ole:CoGetPSClsid () riid={00000001-0000-0000-c000-000000000046}, pclsid=0x406ef0d8
0009:trace:ole:WINE_StringFromCLSID 0x409a51b4->{00000001-0000-0000-C000-000000000046}
0009:trace:ole:__CLSIDFromStringA {00000320-0000-0000-C000-000000000046} -> 0x406ef0d8
0009:trace:ole:CoGetPSClsid () Returning CLSID={00000320-0000-0000-c000-000000000046}
0009:trace:ole:WINE_StringFromCLSID 0x406ef0d8->{00000320-0000-0000-C000-000000000046}
0009:trace:ole:CoGetClassObject 
	CLSID:	{00000320-0000-0000-c000-000000000046},
	IID:	{d5f569d0-593b-101a-b569-08002b2dbf7a}
0009:trace:ole:COMPOBJ_DLLList_Add 
0014:trace:ole:_LocalServerThread done marshalling IClassFactory
0009:fixme:ole:PIPE_GetNewPipeBuf Could not open named pipe \\.\pipe\WINE_OLE_StubMgr_0000001000000014, le is 2
0009:err:ole:StdMarshalImpl_UnmarshalInterface Failed to get an rpc channel buffer for {00000001-0000-0000-c000-000000000046}
0009:err:ole:CoUnmarshalInterface IMarshal::UnmarshalInterface failed, 0x80004005
0009:fixme:ole:CoCreateInstance no classfactory created for CLSID {b6b35894-dd6f-11d3-84ac-00c04f0e1b46}, hres is 0x80004005

-- 
Bill Medland
mailto:billmedland at mercuryspeed.com
http://webhome.idirect.com/~kbmed




More information about the wine-devel mailing list