Paul Baker [MVP, Windows - Networking]
2007-02-21 16:16:24 UTC
I am having an intermittent problem with DCOM that the readers of the
microsoft.public.programmer.ole newsgroup have not been able to offer any
suggestions on (other than call Microsoft PSS). Since it is intermittent, it
is difficult to know what to look for or what to ask for from Microsoft PSS.
It happens about once a week and, each time, I have attempted to do some
research and debugging to learn more. I am now thinking it is more network
or RPC related than DCOM related.
I have a client application that calls a server application using DCOM. It
passes four interfaces. The server application calls those interfaces are
regular intervals, ie. calls back the client application. So technically the
client application is also a DCOM server.
Intermittently, the first call from the server application to the client
application returns E_NOINTERFACE without even entering the client
application code. It must be happening somewhere in the DCOM/RPC/networking
internals. Once this happens, all calls from the server application to the
client application consistently fail similarly and repeatedly, even if both
applications are restarted, until the client is rebooted.
All threads involved entered a Multi-Threaded Apartment (MTA), which
simplifies things by eliminating the possibility that something goofy is
happening with STA and messages.
The client application runs on Windows XP Professional Service Pack 2 and
the server application runs on Windows Server 2003 Service Pack 1.
Could the E_NOINTERFACE error be related to network connectivity? While "net
session" normally shows no or very few sessons, "nbtstat -a" shows TCP and
UDP connections to at least half a dozen servers and I have seen it get up
to twelve. I know that Windows XP Professional has a limit of 10 inbound
connections, but what defines a connection? It is not clear to me from this
KB article or other documentation:
http://support.microsoft.com/kb/314882/en-us
I tried to reproduce the problem by having ten computers use FTP to connect
to my Windows XP Professional machine and sit at the logon prompt, tying up
the connections. I saw those connections in MMC and "nbtstat -a". There were
no connections of any kind to the machine running the server application at
that point. I then used DCOM. It connected just fine and behaved normally.
There was no E_NOINTERFACE error.
Thanks,
Paul
microsoft.public.programmer.ole newsgroup have not been able to offer any
suggestions on (other than call Microsoft PSS). Since it is intermittent, it
is difficult to know what to look for or what to ask for from Microsoft PSS.
It happens about once a week and, each time, I have attempted to do some
research and debugging to learn more. I am now thinking it is more network
or RPC related than DCOM related.
I have a client application that calls a server application using DCOM. It
passes four interfaces. The server application calls those interfaces are
regular intervals, ie. calls back the client application. So technically the
client application is also a DCOM server.
Intermittently, the first call from the server application to the client
application returns E_NOINTERFACE without even entering the client
application code. It must be happening somewhere in the DCOM/RPC/networking
internals. Once this happens, all calls from the server application to the
client application consistently fail similarly and repeatedly, even if both
applications are restarted, until the client is rebooted.
All threads involved entered a Multi-Threaded Apartment (MTA), which
simplifies things by eliminating the possibility that something goofy is
happening with STA and messages.
The client application runs on Windows XP Professional Service Pack 2 and
the server application runs on Windows Server 2003 Service Pack 1.
Could the E_NOINTERFACE error be related to network connectivity? While "net
session" normally shows no or very few sessons, "nbtstat -a" shows TCP and
UDP connections to at least half a dozen servers and I have seen it get up
to twelve. I know that Windows XP Professional has a limit of 10 inbound
connections, but what defines a connection? It is not clear to me from this
KB article or other documentation:
http://support.microsoft.com/kb/314882/en-us
I tried to reproduce the problem by having ten computers use FTP to connect
to my Windows XP Professional machine and sit at the logon prompt, tying up
the connections. I saw those connections in MMC and "nbtstat -a". There were
no connections of any kind to the machine running the server application at
that point. I then used DCOM. It connected just fine and behaved normally.
There was no E_NOINTERFACE error.
Thanks,
Paul