Discussion:
10 connection limit and DCOM (Windows XP Professional)
(too old to reply)
Paul Baker [MVP, Windows - Networking]
2007-02-21 16:16:24 UTC
Permalink
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
Paul Baker [MVP, Windows - Networking]
2007-02-21 17:16:11 UTC
Permalink
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"nbtstat -a" shows TCP and UDP connections
Michael K. O'Neill
2007-02-21 19:02:42 UTC
Permalink
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.

For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.

For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.

There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)

With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.

Mike
Arkady Frenkel
2007-02-22 07:32:16 UTC
Permalink
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted into
number of limited sessions which is incorrect ( you can check that by
opening IE much more than 10 times :) ) and documentation corrected now as
needed ( only SMB and pipe connections counted ). The number of connections
in MSFT tests published ( depends of free resources of computer ) was around
50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to
"netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Paul Baker [MVP, Windows - Networking]
2007-02-22 14:15:37 UTC
Permalink
Thank to you both.

Is there a way I can reliably identify the number of inbound connections for
the purpose of this limit? I am not knowledgeable enough to entirely
understand the output of netstat, recognize the port numbers, etc.

What actions are the easiest way to make a connection for file and printer
sharing and how do I ensure that I can have 10 inbound connections for file
or printer sharing without them timing out? How do I know if they're active?
(I am not particularly knowledgeable about this stuff despite my MVP title).

Thanks,

Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that by
opening IE much more than 10 times :) ) and documentation corrected now as
needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to
"netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Paul Baker [MVP, Windows - Networking]
2007-02-22 22:36:26 UTC
Permalink
I wrote a test program that simply opens a shared file and repeatedly reads
then writes to it. This ensured that a non-idle session remained open.

I ran this test program on 11 different machines with no problem. After
that, any other machine that tried to connect got an error mentioning a
connection limit being exceeded. So it was definitely stressed.

Yet it continued to function as a DCOM client and server without issue and
the E_NOINTERFACE error did *not* occur.

Is this expected behaviour or not? If it is expected, then I don't know what
to look for to debug this darn E_NOINTERFACE error.

Thanks,

Paul
Post by Paul Baker [MVP, Windows - Networking]
Thank to you both.
Is there a way I can reliably identify the number of inbound connections
for the purpose of this limit? I am not knowledgeable enough to entirely
understand the output of netstat, recognize the port numbers, etc.
What actions are the easiest way to make a connection for file and printer
sharing and how do I ensure that I can have 10 inbound connections for
file or printer sharing without them timing out? How do I know if they're
active? (I am not particularly knowledgeable about this stuff despite my
MVP title).
Thanks,
Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that
by opening IE much more than 10 times :) ) and documentation corrected
now as needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Paul Baker [MVP, Windows - Networking]
2007-02-23 22:31:57 UTC
Permalink
It just happened again.

This is the output of "rpcping -s ncoantfs -v 3", where "ncoantfs" is the
name of the Windows XP Professional machine. I ran it on of the Windows
Server 2003 Service Pack 1 servers, named "ncoalink".

"RPCPing v2.12. Copyright (C) Microsoft Corporation, 2002
OS Version is: 5.2

Exception 5 (0x00000005)"

At the same time:
- There was only four sessions according to "net session", all for printer
sharing.
- I could open the remote Printers and Faxes folder in Windows Explorer for
"ncoantfs" on "ncoalink" and use it to print a test page without issue.
- I could open Computer Management on "ncoalink" and use it to connect to
"ncoantfs" without issue.


What does it all mean? :)

Paul
Post by Paul Baker [MVP, Windows - Networking]
I wrote a test program that simply opens a shared file and repeatedly reads
then writes to it. This ensured that a non-idle session remained open.
I ran this test program on 11 different machines with no problem. After
that, any other machine that tried to connect got an error mentioning a
connection limit being exceeded. So it was definitely stressed.
Yet it continued to function as a DCOM client and server without issue and
the E_NOINTERFACE error did *not* occur.
Is this expected behaviour or not? If it is expected, then I don't know
what to look for to debug this darn E_NOINTERFACE error.
Thanks,
Paul
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Thank to you both.
Is there a way I can reliably identify the number of inbound connections
for the purpose of this limit? I am not knowledgeable enough to entirely
understand the output of netstat, recognize the port numbers, etc.
What actions are the easiest way to make a connection for file and
printer sharing and how do I ensure that I can have 10 inbound
connections for file or printer sharing without them timing out? How do I
know if they're active? (I am not particularly knowledgeable about this
stuff despite my MVP title).
Thanks,
Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that
by opening IE much more than 10 times :) ) and documentation corrected
now as needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Eugene Gershnik
2007-02-25 09:33:12 UTC
Permalink
[This is better asked on microsoft.public.win32.programmer.networks. This
group is almost dead while programmer.networks has a few MS RPC people
around. Follow-up set accordingly]
Post by Paul Baker [MVP, Windows - Networking]
It just happened again.
This is the output of "rpcping -s ncoantfs -v 3", where "ncoantfs" is
the name of the Windows XP Professional machine. I ran it on of the
Windows Server 2003 Service Pack 1 servers, named "ncoalink".
"RPCPing v2.12. Copyright (C) Microsoft Corporation, 2002
OS Version is: 5.2
Exception 5 (0x00000005)"
[...]
Post by Paul Baker [MVP, Windows - Networking]
What does it all mean? :)
Nobody there, most likely ;-) You can see the same error when pinging an XP
box with no RPC servers on it.
It could also be a genuine "access denied" authentication error but I doubt
it in your case.

Is the XP machine you use a clean one? Do you have any 3rd party "security"
software (firewalls, anti-spyware etc.) on it?
--
Eugene
http://www.gershnik.com
Paul Baker [MVP, Windows - Networking]
2007-02-26 15:49:30 UTC
Permalink
Yes, there are third party software tools potentially involved:

Symantec Anti-Virus Enterprise Edition
Spysweeper.

There is also a hardware-based firewall protecting our LAN, I am told that
this does not interfere with internal traffic.

Paul
Post by Eugene Gershnik
[This is better asked on microsoft.public.win32.programmer.networks. This
group is almost dead while programmer.networks has a few MS RPC people
around. Follow-up set accordingly]
Post by Paul Baker [MVP, Windows - Networking]
It just happened again.
This is the output of "rpcping -s ncoantfs -v 3", where "ncoantfs" is
the name of the Windows XP Professional machine. I ran it on of the
Windows Server 2003 Service Pack 1 servers, named "ncoalink".
"RPCPing v2.12. Copyright (C) Microsoft Corporation, 2002
OS Version is: 5.2
Exception 5 (0x00000005)"
[...]
Post by Paul Baker [MVP, Windows - Networking]
What does it all mean? :)
Nobody there, most likely ;-) You can see the same error when pinging an
XP box with no RPC servers on it.
It could also be a genuine "access denied" authentication error but I
doubt it in your case.
Is the XP machine you use a clean one? Do you have any 3rd party
"security" software (firewalls, anti-spyware etc.) on it?
--
Eugene
http://www.gershnik.com
Paul Baker [MVP, Windows - Networking]
2007-02-26 15:48:51 UTC
Permalink
Thanks Eugene and Arkady,

I wrote a test program that opens a shared file on my Windows XP development
machine, which had a similar setup, and repeatedly reads from then write to
it every ten seconds. I had as many people as possible in the building run
it. At one point, I had 11 sessions according to "net session", none of
which were idle. There was no connection of any kind to the Windows Server
2003 Service Pack 1 server I was testing DCOM with at that point, according
to "netstat -a". So, regardless of how the 10 connection limit is counted, I
would say I exceeded it. Several people attempted to connect beyond that,
and all received a error of some sort, mostly ERROR_REQ_NOT_ACCEP. Yet, the
DCOM server was able to connect to the Windows Sever 2003 Service Pack 1
server and continued to function as normal! This would suggest to me that
the 10 connection limit is not the cause.

You say "nobody is there". Well, the RPC server *is* there, because the
print server and Computer Management still work (for example). But it's not
taking care of the DCOM stuff for some reason. Getting it to listen is like
trying to get my kids to clean up their room. I wish I could restart the RPC
server just to see if that resolves it, but such actions are disabled and so
I must reboot. Terminating the services.exe process hosting the RPC server,
which many other services rely upon, does not achieve anything good. For
example, it seems to break the Running Object Table.

I don't have much to say about your comments on SMB sessions, because
although I have herad of it, I don't know much about it. I am using
FindFirstChangeNotification on one remote folder. Is that relevant?

I will also tell my story again on
"microsoft.public.win32.programmer.networks". See you there? :)

Paul
Post by Eugene Gershnik
[This is better asked on microsoft.public.win32.programmer.networks. This
group is almost dead while programmer.networks has a few MS RPC people
around. Follow-up set accordingly]
Post by Paul Baker [MVP, Windows - Networking]
It just happened again.
This is the output of "rpcping -s ncoantfs -v 3", where "ncoantfs" is
the name of the Windows XP Professional machine. I ran it on of the
Windows Server 2003 Service Pack 1 servers, named "ncoalink".
"RPCPing v2.12. Copyright (C) Microsoft Corporation, 2002
OS Version is: 5.2
Exception 5 (0x00000005)"
[...]
Post by Paul Baker [MVP, Windows - Networking]
What does it all mean? :)
Nobody there, most likely ;-) You can see the same error when pinging an
XP box with no RPC servers on it.
It could also be a genuine "access denied" authentication error but I
doubt it in your case.
Is the XP machine you use a clean one? Do you have any 3rd party
"security" software (firewalls, anti-spyware etc.) on it?
--
Eugene
http://www.gershnik.com
Arkady Frenkel
2007-02-25 10:08:26 UTC
Permalink
Just check with WinObject from sysinternals what you have in Sessions
( ->0->DosDevices ) SMB drivers listed there you don't see in "net sessions"
but they have to be counted too
Arkady
P.S. Eugene already include the answer in networks NG too, but you can ask
there all your question for gurus to see all the picture. OTOH DCOM at the
end use TCP ( UDP at the beginning ) so that should be not counted as 10
limit
Post by Paul Baker [MVP, Windows - Networking]
It just happened again.
This is the output of "rpcping -s ncoantfs -v 3", where "ncoantfs" is the
name of the Windows XP Professional machine. I ran it on of the Windows
Server 2003 Service Pack 1 servers, named "ncoalink".
"RPCPing v2.12. Copyright (C) Microsoft Corporation, 2002
OS Version is: 5.2
Exception 5 (0x00000005)"
- There was only four sessions according to "net session", all for printer
sharing.
- I could open the remote Printers and Faxes folder in Windows Explorer
for "ncoantfs" on "ncoalink" and use it to print a test page without
issue.
- I could open Computer Management on "ncoalink" and use it to connect to
"ncoantfs" without issue.
What does it all mean? :)
Paul
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
I wrote a test program that simply opens a shared file and repeatedly
reads then writes to it. This ensured that a non-idle session remained
open.
I ran this test program on 11 different machines with no problem. After
that, any other machine that tried to connect got an error mentioning a
connection limit being exceeded. So it was definitely stressed.
Yet it continued to function as a DCOM client and server without issue
and the E_NOINTERFACE error did *not* occur.
Is this expected behaviour or not? If it is expected, then I don't know
what to look for to debug this darn E_NOINTERFACE error.
Thanks,
Paul
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Thank to you both.
Is there a way I can reliably identify the number of inbound connections
for the purpose of this limit? I am not knowledgeable enough to entirely
understand the output of netstat, recognize the port numbers, etc.
What actions are the easiest way to make a connection for file and
printer sharing and how do I ensure that I can have 10 inbound
connections for file or printer sharing without them timing out? How do
I know if they're active? (I am not particularly knowledgeable about
this stuff despite my MVP title).
Thanks,
Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that
by opening IE much more than 10 times :) ) and documentation corrected
now as needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Paul Baker [MVP, Windows - Networking]
2007-02-22 14:21:03 UTC
Permalink
Regarding the current revision of KB314882:

It states "For Windows XP Professional, the maximum number of other
computers that are permitted to simultaneously connect over the network is
ten. This limit includes all transports and resource sharing protocols
combined". This is very unclear wording to me. The mention of "all
transports" suggests to me all sockets. Therefore, any kind of connection.
Is that not what it's getting at?

If you read on, it says "The connection limit refers to the number of
redirector-based connections and is enforced for any file, print, named
pipe, or mail slot session". This is clearer, if someone reads this far, but
I still don't know what redirector-based means when it is not one of the
aforementioned things. Does RPC count here?

Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that by
opening IE much more than 10 times :) ) and documentation corrected now as
needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to
"netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Arkady Frenkel
2007-02-25 10:01:39 UTC
Permalink
As I wrote that number counted only SMB sessions and other different than
winsock IPC sessions( IMHO RPC included too )
Arkady
Post by Paul Baker [MVP, Windows - Networking]
It states "For Windows XP Professional, the maximum number of other
computers that are permitted to simultaneously connect over the network is
ten. This limit includes all transports and resource sharing protocols
combined". This is very unclear wording to me. The mention of "all
transports" suggests to me all sockets. Therefore, any kind of connection.
Is that not what it's getting at?
If you read on, it says "The connection limit refers to the number of
redirector-based connections and is enforced for any file, print, named
pipe, or mail slot session". This is clearer, if someone reads this far,
but I still don't know what redirector-based means when it is not one of
the aforementioned things. Does RPC count here?
Paul
Post by Arkady Frenkel
Additionally : Once
http://support.microsoft.com/default.aspx?scid=kb;en-us;314882 looked
exactly as
http://support.microsoft.com/?scid=kb;EN-US;122920 where sockes counted
into number of limited sessions which is incorrect ( you can check that
by opening IE much more than 10 times :) ) and documentation corrected
now as needed ( only SMB and pipe connections counted ). The number of
connections in MSFT tests published ( depends of free resources of
computer ) was around 50,000 on W2K
Arkady
Post by Paul Baker [MVP, Windows - Networking]
"Paul Baker [MVP, Windows - Networking]"
Post by Paul Baker [MVP, Windows - Networking]
Excuse me, where I refer to "nbtstat -a", I mean to refer to "netstat -a".
"Paul Baker [MVP, Windows - Networking]"
"nbtstat -a" shows TCP and UDP connections
The "10 connection limit" is widely misunderstood, since that phrase is used
to describe a variety of completely different topics. To understand the
misunderstanding, remember to distinguish between sockets and services.
Sockets are what you see from netstat. Services relate to things like file
sharing and print sharing. Services might be implemented using sockets, but
with respect to this "10 connection limit" discussion, they are still
different.
For services, there is a connection limit imposed by the OS: 5 connections
for XP Home and 10 for XP Pro. Thus, you cannot try to share files on a
semi-large SOHO-style network, for the reason that the 10 connection limit
is quickly reached.
For sockets, there is no limit on the number of inbound connections.
Actually, there is a legal limit that's defined in the Windows end-user
license agreement, and that number is 10. Accordingly, if you are using a
product from Microsoft, like IIS, then the limit is imposed by the product
itself (presumably because the product was writtten by Microsoft and MS
actually tries to abide by its own EULA). But if you are using 3rd party
products, or writing something on your own, there is no limit, and the OS
itself does not try to enforce the EULA limit. Many users have reported
that they successfully manage 1,000's of simultaneous incoming socket
connections, even on XP Home systems.
There is also no limit on outbound socket connections. SP2 changed the TCP
stack, and there is now a limit on outbound connections that are
*half-open*. The limit is 10, but half-open connections are not the same
thing as established connections. Half-open refers to a connection that has
not completed TCP's three-way handshake. The three-way handshake requires
SYN, SYN-ACK and ACK, and in a half-open connection, the SYN has been sent
but the SYN-ACK has not yet been received. There can only be 10 half-open
connections in this state. Once the three-way handshake has been completed,
then the connection is established, and there is no limit on the number of
established connections. (The intent of the SP2 change was to slow down the
rate at which new connections are established, but not to limit the number
of actual connections.)
With the above in mind, I don't think that your FTP connections are
stressing the computer in the right way. Try sharing files with 10
different computers, to see if this produces your E_NOINTERFACE symptoms.
Mike
Continue reading on narkive:
Search results for '10 connection limit and DCOM (Windows XP Professional)' (Questions and Answers)
5
replies
how to access Internet throw mobile phone to PC? pls tell me names of mobiles?
started 2007-03-13 04:14:49 UTC
internet
Loading...