An operation on a socket could not be performed because the system lacked suffic

An operation on a socket could not be performed because the system lacked suffic

  
This error appear when i make the publishing in deploy

Error publishing in node bpcfsptln037 (35.53.26.92): Internal Error
An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
System.Net.Sockets.SocketException: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
 
Server stack trace:
  at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
  at System.Runtime.Remoting.Channels.SocketStream.Read(Byte[] buffer, Int32 offset, Int32 size)
  at System.Runtime.Remoting.Channels.SocketHandler.ReadFromSocket(Byte[] buffer, Int32 offset, Int32 count)
  at System.Runtime.Remoting.Channels.SocketHandler.Read(Byte[] buffer, Int32 offset, Int32 count)
  at System.Runtime.Remoting.Channels.Tcp.TcpFixedLengthReadingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
  at System.IO.BinaryReader.ReadBytes(Int32 count)
  at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadArrayAsBytes(ParseRecord pr)
  at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadArray(BinaryHeaderEnum binaryHeaderEnum)
  at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
  at System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMessage(Stream inputStream, IMethodCallMessage reqMsg, Boolean bStrictBinding)
  at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.DeserializeMessage(IMethodCallMessage mcm, ITransportHeaders headers, Stream stream)
  at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
 
Exception rethrown at [0]:
  at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
  at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
  at OutSystems.HubEdition.ICompiler.GetEspaceFiles(String espaceName, DateTime timeStamp, String testAreaName)
  at OutSystems.HubEdition.DeployService.Deploy.#Of(String espaceName, String testAreaName, Byte[]& espaceFile, DateTime& lastZipTimestamp)
  at OutSystems.HubEdition.DeployService.Deploy.#Jf(String espaceName, String userName, Boolean partial, Boolean forceRedeploy, Boolean alreadyLocked)
CompModule : Broadcast Message

I wanted your help in solving this problem.

Cumps 
Luís Teixeira
Hi Luís,

Can you please provide us with some detail regarding the server's characteristics? (eg: total memory, available memory, OS version, ...)
Hi Luis

Read this carefully: How to tune the TCP/IP stack for high volume of web requests

Also check if the server is running in 32 bits and with the /3G setting on. This will increase the probably of that error.

Cheers

Miguel Simões João
Thank you all

Resolution http://msdn.microsoft.com/en-us/library/aa560610(v=BTS.20).aspx

Follow these steps to avoid TCP/IP port exhaustion and its associated problems:

 

  1. Verify that one or more client applications are not generating excessive TCP/IP socket connections. This can be checked by running netstat -n on Windows Server 2003 and Windows XP or by running netstat -b on Windows Server 2003 as described above.

    If a particular client application is engaging in an unusually high number of TCP/IP socket connections then consider redesigning the client application to make more judicious use of TCP/IP socket connections.

    Aa560610.note(en-us,BTS.20).gifNote
    If an unusually high number of client port reservations are allocated to an instance of the BizTalk Application service (BTSNTSvc.exe) then verify that any custom code configured to run in the BizTalk Application service is not making excessive TCP/IP socket connections.

     

     

  2. If a large number of client applications are initiating the expected number of TCP/IP socket connections but there are not enough available ephemeral ports to satisfy the connection requests then implement one or more of the following registry modifications.

    Aa560610.Caution(en-us,BTS.20).gifWarning
    If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk. Before you modify the Registry, always back up the registry, and verify that you know how to restore the backup if a problem occurs. For more information about how to back up, restore, and modify the registry, see the Microsoft Knowledge Base article "Description of the Microsoft Windows registry" at http://go.microsoft.com/fwlink/?LinkId=62729.

     

     

    Increase the upper range of ephemeral ports that are dynamically allocated to client TCP/IP socket connections.
    1. Start Registry Editor.
       
    2. Browse to, and then click the following key in the registry:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
       
    3. On the Edit menu, click NewDWORD Value, and then add the following registry value to increase the number of ephemeral ports that can by dynamically allocated to clients:

       

      Value name

      MaxUserPort

      Value data

      <Enter a decimal value between 5000 and 65534 here>

    4. Close Registry Editor.

      Aa560610.note(en-us,BTS.20).gifNote
      You must restart your computer for this change to take effect.

       

       

      Aa560610.note(en-us,BTS.20).gifNote
      Increasing the range of ephemeral ports used for client TCP/IP connections consumes Windows kernel memory. Do not increase the upper limit for this setting to a value higher than is required to accommodate client application socket connections so as to minimize unnecessary consumption of Windows kernel memory.

       

       

    Reduce the client TCP/IP socket connection timeout value from the default value of 240 seconds

    1. Start Registry Editor.
       
    2. Browse to, and then click the following key in the registry:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
       
    3. On the Edit menu, click NewDWORD Value, and then add the following registry value to reduce the length of time that a connection stays in the TIME_WAIT state when the connection is being closed. While a connection is in the TIME_WAIT state, the socket pair cannot be reused:

       

      Value name

      TcpTimedWaitDelay

      Value data

      <Enter a decimal value between 30 and 240 here>

    4. Close Registry Editor.

      Aa560610.note(en-us,BTS.20).gifNote
      You must restart your computer for this change to take effect.

       

       

      Aa560610.note(en-us,BTS.20).gifNote
      The valid range of this value is 30 through 300 (decimal). The default value is 240.

       

       

  3. Follow the recommendations in Avoiding DBNETLIB Exceptions for disabling the denial of service attack security feature that is implemented with Windows Server 2003 SP1 and later.

    Aa560610.Important(en-us,BTS.20).gifImportant
    This should only be done in an intranet environment where the BizTalk Server computer is not directly exposed to the Internet.

     

     

  4. Follow the recommendations in Avoiding DBNETLIB Exceptions for alleviating conditions that can cause the MessageBox database(s) to become I/O bound.