Pharos Blueprint: Unable to launch Blueprint Administrator or the Blueprint Server Configuration utility on a Blueprint Collector or Analyst. Numerous messages about the server going offline and coming back online.

Blog Post created by toleary on Aug 8, 2013
User cannot get the Blueprint Administrator or Blueprint Server Configuration utility to launch and/or operate correctly. There are also several messages about the Health Check not completing in the Taskmaster log. Tasks that rely on TCP port sharing (such as Health Check) may also fail.
The problem stems from an error with the SMSvcHost module. This module is responsible for the Microsoft WCF TCP port sharing function used by the Blueprint services. In looking in the System Event Log, the system error thrown by SMSvcHost is listed as the following:


An error occurred while dispatching a duplicated socket: this handle is now leaked in the process.
Log Name:     System
Source:       SMSvcHost
Date:         2/3/2010 3:18:25 PM
Event ID:     8
Task Category: Sharing Service
Level:        Error
Keywords:     Classic
User:         LOCAL SERVICE
Description: An error occurred while dispatching a duplicated socket: this handle is now leaked in the process.
ID: 6408
Source: System.ServiceModel.Activation.TcpWorkerProcess/54166759
Exception: System.TimeoutException: This request operation sent to did not receive a reply within the configured timeout (00:01:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.
Server stack trace:
  at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
  at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
  at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
  at System.ServiceModel.Channels.ServiceChannelProxy.InvokeEndService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
  at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
  at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
  at System.ServiceModel.Activation.WorkerProcess.EndDispatchSession(IAsyncResult result)
Process Name: SMSvcHost

Process ID: 4056


Here is the Microsoft article regarding the SMSvcHost.exe Error 8 problem experienced:


SMSvcHost Error Causing Leak In The Process

There's also a Microsoft KB Article on this. This article also lists the affected environments and prerequisites. This also details how to obtain the hot fix. Please note that, despite the lack of statement in the Microsoft KB, it is necessary to have .NET 4 installed in order to successful run the hot fix.

Option 2. Edit the SMSvcHost.exe.config file.

By default, the SMSvcHost.exe.config file looks like this:

<configuration>   <system.serviceModel.activation>       <net.tcp listenBacklog="10"           maxPendingAccepts="2"           maxPendingConnections="10"           receiveTimeout="00:00:10"           teredoEnabled="false">          <allowAccounts>             // LocalSystem account              <add securityIdentifier="S-1-5-18"/>             // LocalService account              <add securityIdentifier="S-1-5-19"/>             // Administrators account              <add securityIdentifier="S-1-5-20"/>             // Network Service account              <add securityIdentifier="S-1-5-32-544" />             // IIS_IUSRS account (Vista only)              <add securityIdentifier="S-1-5-32-568"/>           </allowAccounts>       </net.tcp></configuration>


You may need to increase the listenBacklog, maxPendingConnections, maxPendingAccepts, and maxPendingConnections to something higher to accommodate requests on the server. There is no exact science to this, but increasing all by a factor of 10 will definitely be more than sufficient. You may also wish to increase the timeout value.