Recently upgraded Task Server to a newer version. After upgrading, no client machines can register to it.
The agent logs showed the following entries every time we had to reset the task agent:
Entry 1:
Task Server registration process failed.
Task Server failed to obtain versioning information. Installation of Task Server is corrupted and it has to be reinstalled or repaired.
[System.Exception @ Altiris.ClientTask.Server]
at Altiris.ClientTask.Server.ClientTaskServer.ProcessRegistrationThreadProc()
Unable to get value "Version" of registry key "Software\Altiris\eXpress\TaskServerSetup".
[System.Exception @ Altiris.DotNetLib]
at Altiris.DotNetLib.RegistryHelper.ReadValue[T](String registryKey, String valueName)
at Altiris.ClientTask.Server.ClientTaskServer.ProcessRegistrationThreadProc()
Unable to get registry key "Software\Altiris\eXpress\TaskServerSetup".
[System.Exception @ Altiris.DotNetLib]
at Altiris.DotNetLib.RegistryHelper.ReadValue[T](String registryKey, String valueName)
Exception logged from:
at Altiris.TaskManagement.Logging.AltirisServerLog.ReportException(Int32, String, String, Exception, String, Object[])
at Altiris.ClientTask.Server.ClientTaskServer.ProcessRegistrationThreadProc()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
at System.Threading.ThreadHelper.ThreadStart()
User [DSNRCCA\RCONK1AWVASP010$], AppDomain [AtrsHost.exe]
-----------------------------------------------------------------------------------------------------
Date: 2/24/2022 11:13:42 AM, Tick Count: 39969203 (11:06:09.2030000), Size: 1.76 KB
Process: AtrsHost (19584), Thread ID: 47, Module: Altiris.TaskManagement.dll
Priority: 1, Source: ClientTaskServer
Entry 2:
Failed to create remoting request service: name='ClientTaskServer', retry=[0 / 5]
Scheduling for next retry ...
System.ServiceModel.AddressAlreadyInUseException: Cannot listen on pipe name 'net.pipe://localhost/rss/ClientTaskServerRemotingRequestService' because another pipe endpoint is already listening on that name. ---> System.IO.PipeException: Cannot listen on pipe name 'net.pipe://localhost/rss/ClientTaskServerRemotingRequestService' because another pipe endpoint is already listening on that name.
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.PipeConnectionListener.Listen()
at System.ServiceModel.Channels.ExclusiveNamedPipeTransportManager.OnOpen()
at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
at System.ServiceModel.Channels.TransportChannelListener.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.ConnectionOrientedTransportChannelListener.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.NamedPipeChannelListener`2.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at Altiris.DotNetLib.RemotingRequestService.CreateEntryCore(CreateRetry retry)
-----------------------------------------------------------------------------------------------------
Date: 2/24/2022 11:13:42 AM, Tick Count: 39969203 (11:06:09.2030000), Size: 1.87 KB
Process: AtrsHost (19584), Thread ID: 43, Module: AtrsHost.exe
Priority: 2, Source: RemotingRequestService
Entry 3:
Unable to refresh task servers.
An error was returned from the server: <response result="failure" code="6" description="The handler 'RefreshTaskServers' is failed to process request. There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).">The handler 'RefreshTaskServers' is failed to process request. System.ServiceModel.CommunicationException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.IOException: The write operation failed, see inner exception. ---> System.ServiceModel.CommunicationException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
at System.ServiceModel.Channels.PipeConnection.WriteHelper(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, Object& holder)
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.PipeConnection.WriteHelper(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, Object& holder)
at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager)
at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
at System.ServiceModel.Channels.ConnectionStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.NegotiateStream.StartWriting(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
--- End of inner exception stack trace ---
at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSendCore(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
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 Altiris.DotNetLib.IRemotingRequestService.HandleRequest(String service, Hashtable parameters)
at Altiris.TaskManagement.Common.RemotingProxy.RefreshTaskInstances(Boolean throwIfFailed)
at Altiris.DotNetLib.Threading.StringBuilderCache.ToXml(Action`1 fu)
at Altiris.TaskManagement.Common.XmlHttp.BaseXmlXmlHttpCallback.WriteResponseRaw(XmlTextWriter xwr)
at Altiris.TaskManagement.Common.XmlHttp.BaseXmlHttpCallback.ProcessRequest(HttpContext context)</response>
[System.Exception @ Altiris.TaskManagement]
at Altiris.TaskManagement.ClientTask.BaseClientTask.<>c.<RefreshTaskServers>b__34_0(XmlTextReader r)
at Altiris.DotNetLib.Helpers.AtrsHttpOps.<>c__DisplayClass5_0`1.<ExecuteXmlTextReader>b__0(HttpWebRequest req)
at Altiris.DotNetLib.Helpers.AtrsHttpOps.Execute[T](Func`2 action, String url, ICredentials credentials, Boolean isPost, Int32 timeout)
at Altiris.TaskManagement.ClientTask.BaseClientTask.RefreshTaskServers(String webPath, ICredentials credentials)
at Altiris.TaskManagement.ClientTask.BaseClientTask.OnRefreshTaskServers(Guid actionGuid)
Exception logged from:
at Altiris.TaskManagement.ClientTask.BaseClientTask+<>c.<.cctor>b__109_1(String, Exception, Int32, Int32)
at Altiris.NS.Logging.ThrottledLogAction<T,TK>.Execute(T, TK, Int32)
at Altiris.TaskManagement.ClientTask.BaseClientTask.OnRefreshTaskServers(System.Guid)
at Altiris.TaskManagement.ClientTask.BaseClientTask.RefreshTaskServers(Boolean)
at Altiris.TaskManagement.ClientTask.Data.ClientTaskExecutionInstance.Create()
at Altiris.TaskManagement.BaseTask.CreateTaskInstance(String, String, System.Guid, Altiris.TaskManagement.Common.JobNodeGuid, Altiris.DotNetLib.Collections.ParameterValueCollection, System.Collections.Generic.IList<String>)
at Altiris.TaskManagement.ClientTask.BaseClientTask.CreateTaskInstance(String, String, System.Guid, Altiris.TaskManagement.Common.JobNodeGuid, Altiris.DotNetLib.Collections.ParameterValueCollection, System.Collections.Generic.IList<String>)
at Altiris.TaskManagement.BaseTask.ExecuteTask(Altiris.TaskManagement.Common.TaskVersionGuid, String, String, System.Guid, Altiris.TaskManagement.Common.JobNodeGuid, Altiris.DotNetLib.Collections.ParameterValueCollection, System.Collections.Generic.IList<String>)
at Altiris.TaskManagement.UI.TaskSchedule.ExecuteTaskInstance()
at Altiris.TaskManagement.UI.TaskSchedule.OnSchedule(String)
at Altiris.NS.Scheduling.ScheduleService.ProcessScheduleImpl(String, Altiris.Profiling.CodeProfiling.CodeProfiler, Altiris.NS.Security.SecurityContext, System.Guid)
at Altiris.NS.Scheduling.ScheduleService+<>c__DisplayClass0_1.<ProcessSchedule>b__0(Altiris.NS.Security.SecurityContext)
at Altiris.NS.Security.SecurityContext+<>c__DisplayClass46_0.<ExecuteAsOwner>b__1(Altiris.NS.Security.SecurityContext)
at Altiris.NS.Security.SecurityContext.ExecuteAs<T,TK>(Altiris.NS.Security.EExecuteAs, TK, System.Func<TK,Altiris.NS.Security.SecurityContext>, System.Func<Altiris.NS.Security.SecurityContext,T>)
at Altiris.NS.Scheduling.ScheduleService.ProcessSchedule(String)
at Altiris.NS.Scheduling.ScheduleService.ProcessScheduleWithCleanup(String, Boolean)
at Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessScheduleImpl(String, Boolean)
at Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessScheduleThreadProc(Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
at Altiris.Diagnostics.RemoteControl.ScheduleServiceProxy.ProcessSchedule(String, Boolean)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr, Object[], Object, Object[]&)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[])
at System.Runtime.Remoting.Channels.ChannelServices.DispatchMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage&)
at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
at System.Runtime.Remoting.MetadataServices.SdlChannelSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Channels.ITransportHeaders, System.IO.Stream, System.Runtime.Remoting.Messaging.IMessage&, System.Runtime.Remoting.Channels.ITransportHeaders&, System.IO.Stream&)
at System.Runtime.Remoting.Channels.Tcp.TcpServerTransportSink.ServiceRequest(Object)
at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
at System.Runtime.Remoting.Channels.SocketHandler.BeginReadMessageCallback(IAsyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
at System.Net.ContextAwareResult.Complete(IntPtr)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object, IntPtr)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
-----------------------------------------------------------------------------------------------------
Date: 2/24/2022 11:15:11 AM, Tick Count: 40058406 (11:07:38.4060000), Size: 10.90 KB
Process: AeXSvc (11888), Thread ID: 239, Module: Altiris.TaskManagement.dll
Priority: 2, Source: Altiris.TaskManagement.ClientTask.BaseClientTask+<>c.<.cctor>b__109_1
ITMS 8.6
Faulty Client Task Server Agent installation
Check the following:
1. In this particular example, the SMP Server was its own Task Server. The error message should tell you something like this:
Unable to get value "Version" of registry key "Software\Altiris\eXpress\TaskServerSetup".
See if there is a version entry under the mentioned regkey. If not, run a repair on Task Server (uninstall and reinstall the Task Service)
2. Check if the Altiris Client Data Loader and Altiris Object Host services exist. If not, you may need to reinstall these services manually.
In this example again, the SMP Server was its own Task Server so the executables needed were under the "...\Program Files\Altiris\TaskManagement" directory. Run the following commands using a command prompt as Administrator:
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" "C:\Program Files\Altiris\TaskManagement\AtrsHost.exe"
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" "C:\Program Files\Altiris\TaskManagement\CTDataLoad.exe"
On a regular Task Server, those executables exist under "...\Program Files\Altiris\Altiris Agent\Client Task Server"
3. If the issue is present on the SMP Server with Task Services installed and the steps above didn't resolve the issue, you should run a Full repair using SIM (Symantec Installation Manager) on the Platform.