Getting warnings about Tickle Connection error occurred: CAtrsException exception, error: Error reading data from socket.
search cancel

Getting warnings about Tickle Connection error occurred: CAtrsException exception, error: Error reading data from socket.

book

Article ID: 281281

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

You may have noticed the following warnings coming from the agent logs while trying to establish a Task Server connection with the SMP Server (in this case, the SMP Server had the Task Service enabled so it could serve as a Task Server too):

Log entry from a client machine:

Tickle: Connection error occurred: CAtrsException exception, error: Error reading data from socket. You may see this exception if atrshost service was restarted or if connection from Client to Task Server tickle port: '50124' is lost by some reasons, OS error: An existing connection was forcibly closed by the remote host (10054), at line 596
    re-throw at CTaskServerDirectConnection::_OnReceiveReady
-----------------------------------------------------------------------------------------------------
Date: 3/26/2024 12:30:37 PM, Tick Count: 97115109 (1.02:58:35.1090000), Size: 650 B
Process: AeXNSAgent.exe (1260), Thread ID: 16464, Module: client task agent.dll
Priority: 2, Source: Client Task Agent

And in the NS logs, we can see these entries when the warning above is occurring:

(socket) failed to finish processing tickle connection: '10.0.0.156:47289' (#29126747)
Failed to decrypt data[471] from client ('10.0.0.156:47289' (#29126747)): xxxxxxB9082C59E6B272997149BFBB7AE5824954C5A98BCB2C0B9978CBBE5DC14E11EE71D3780282FCF6EC0E8BF79C8D4B4CFED66FA0D16ED912040183F7A56E7E60F9A843D8A039CE5890F6A1964E561B6C5B72E308F7374D733DCDDF8197A324EB97B6B5DAC91B2871212E8D35CD1F9B7CCBA338CA00AA3AA5152F11C17E5FE4C757D912A18157F026A7FC2BFB744282381C61501A987B471A5AB8E6DB4E5A3328E3423CD2427D60793CEF633D030447C84429BA9666DFCFE7592AD84EAED83038C1802CA17E90A16AF897ACAA295C3E402C2ED75E87615CF760BFA1D73A803FA3874645B3028961E0CFDC2B850E3B39864895E64F036D933A141C0F192AC16870948EBB5B7608C72BAE45B88B0FF4330E5889F924AF58FE2F01EE6CB821D53F7EB4CC13186CE0FFBD64176C18162ACB6C9CBE2B7E03FA96533A81FFE71EAB0D65B4A37000FB80F6DA364D6C1210F8E78E11E15DCBC73084643464E7FC544F3ECFCC8A9FF3B2DB16A50C93DB51ACAE85A5C7AF0F90E3E254AC1F73B0CD93712AB363B7CED020324E93C015DF4EC93EFCFB7385CC451BA30E1B424B9CD220850EF407824A580992CBE9xxxxxxx
[System.Exception @ Altiris.ClientTask.Server]
at Altiris.ClientTask.Server.RemoteClientTaskManager.GetResourceGuidFromEncryptedClientData(Byte[] clientData, Socket clientSocket)
at Altiris.ClientTask.Server.RemoteClientTaskManager.FinishProcessingClientConnection(Byte[] clientData, Socket clientSocket)

DecryptData failure. Error 2148073477
[System.Runtime.InteropServices.COMException @ Altiris.TaskManagement.Common]
at Symantec.NSAgent.AgentStorage.DecryptData(Byte[] encryptedData, UInt32 flags)
at Altiris.TaskManagement.Common.ClientTask.Communication.NsIdentityContext.EnsureExecutedAsLocalSystemIdentity[TResult](Func`1 fn, ThrottledLogAction`2 logAction)
at Altiris.ClientTask.Server.RemoteClientTaskManager.GetResourceGuidFromEncryptedClientData(Byte[] clientData, Socket clientSocket)

COM Exception errcode: 0x80090005

Exception logged from:
at Altiris.DotNetLib.Logging.AtrsLog.ExceptionMessage(String message, Exception exception)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnSocketException(Int32 level, String message, Nullable`1 epGuid, Socket sock, Exception ex)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnSocketException(String message, Nullable`1 epGuid, Socket sock, Exception ex)
at Altiris.ClientTask.Server.RemoteClientTaskManager.FinishProcessingClientConnection(Byte[] clientData, Socket clientSocket)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnReceivePendingConnectionData(Socket sock, SocketWatchEvent eventType, Boolean& bReEnableRead)
at Altiris.DotNetLib.Sockets.SocketWatchThread.ServePendingRead(WatchLoopData data, SocketWatchEntry poll)
at System.Threading.Tasks.Parallel.<>c_DisplayClass17_0`1.<ForWorker>b_1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c_DisplayClass176_0.<ExecuteSelfReplicating>b_0(Object <p0>)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued)
at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued)
at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`2 body)
at Altiris.DotNetLib.Sockets.SocketWatchThread.ServeLoop(WatchLoopData data)
at Altiris.DotNetLib.Sockets.SocketWatchThread.WatchThreadProc()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

-----------------------------------------------------------------------------------------------------
Date: 3/26/2024 12:32:16 PM, Tick Count: 97214281 (1.03:00:14.2810000), Size: 5.21 KB
Process: AtrsHost (8028), Thread ID: 126, Module: Altiris.ClientTask.Server.dll
Priority: 1, Source: RemoteClientTaskManager

 

(socket) failed to process incoming tickle connection: #29126747
Failed to decrypt data[471] from client ('10.0.5.156:47289' (#29126747)): xxxxxxB9082C59E6B272997149BFBB7AE5824954C5A98BCB2C0B9978CBBE5DC14E11EE71D3780282FCF6EC0E8BF79C8D4B4CFED66FA0D16ED912040183F7A56E7E60F9A843D8A039CE5890F6A1964E561B6C5B72E308F7374D733DCDDF8197A324EB97B6B5DAC91B2871212E8D35CD1F9B7CCBA338CA00AA3AA5152F11C17E5FE4C757D912A18157F026A7FC2BFB744282381C61501A987B471A5AB8E6DB4E5A3328E3423CD2427D60793CEF633D030447C84429BA9666DFCFE7592AD84EAED83038C1802CA17E90A16AF897ACAA295C3E402C2ED75E87615CF760BFA1D73A803FA3874645B3028961E0CFDC2B850E3B39864895E64F036D933A141C0F192AC16870948EBB5B7608C72BAE45B88B0FF4330E5889F924AF58FE2F01EE6CB821D53F7EB4CC13186CE0FFBD64176C18162ACB6C9CBE2B7E03FA96533A81FFE71EAB0D65B4A37000FB80F6DA364D6C1210F8E78E11E15DCBC73084643464E7FC544F3ECFCC8A9FF3B2DB16A50C93DB51ACAE85A5C7AF0F90E3E254AC1F73B0CD93712AB363B7CED020324E93C015DF4EC93EFCFB7385CC451BA30E1B424B9CD220850EF407824A580992CBE9xxxxxxx
[System.Exception @ Altiris.ClientTask.Server]
at Altiris.ClientTask.Server.RemoteClientTaskManager.GetResourceGuidFromEncryptedClientData(Byte[] clientData, Socket clientSocket)
at Altiris.ClientTask.Server.RemoteClientTaskManager.FinishProcessingClientConnection(Byte[] clientData, Socket clientSocket)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnReceivePendingConnectionData(Socket sock, SocketWatchEvent eventType, Boolean& bReEnableRead)

DecryptData failure. Error 2148073477
[System.Runtime.InteropServices.COMException @ Altiris.TaskManagement.Common]
at Symantec.NSAgent.AgentStorage.DecryptData(Byte[] encryptedData, UInt32 flags)
at Altiris.TaskManagement.Common.ClientTask.Communication.NsIdentityContext.EnsureExecutedAsLocalSystemIdentity[TResult](Func`1 fn, ThrottledLogAction`2 logAction)
at Altiris.ClientTask.Server.RemoteClientTaskManager.GetResourceGuidFromEncryptedClientData(Byte[] clientData, Socket clientSocket)

COM Exception errcode: 0x80090005

Exception logged from:
at Altiris.DotNetLib.Logging.AtrsLog.ExceptionMessage(String message, Exception exception)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnSocketException(Int32 level, String message, Nullable`1 epGuid, Socket sock, Exception ex)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnSocketException(String message, Nullable`1 epGuid, Socket sock, Exception ex)
at Altiris.ClientTask.Server.RemoteClientTaskManager.OnReceivePendingConnectionData(Socket sock, SocketWatchEvent eventType, Boolean& bReEnableRead)
at Altiris.DotNetLib.Sockets.SocketWatchThread.ServePendingRead(WatchLoopData data, SocketWatchEntry poll)
at System.Threading.Tasks.Parallel.<>c_DisplayClass17_0`1.<ForWorker>b_1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c_DisplayClass176_0.<ExecuteSelfReplicating>b_0(Object <p0>)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued)
at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued)
at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`2 body)
at Altiris.DotNetLib.Sockets.SocketWatchThread.ServeLoop(WatchLoopData data)
at Altiris.DotNetLib.Sockets.SocketWatchThread.WatchThreadProc()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

-----------------------------------------------------------------------------------------------------
Date: 3/26/2024 12:32:16 PM, Tick Count: 97214281 (1.03:00:14.2810000), Size: 5.21 KB
Process: AtrsHost (8028), Thread ID: 126, Module: Altiris.ClientTask.Server.dll
Priority: 1, Source: RemoteClientTaskManager

Environment

ITMS 8.7

Cause

This issue was caused by having a duplicate communication profile for the SMP Server under the "Site Server Communication Servers" page. Due to this, the SMP Server was unable to process the tickle connections between the client machines and itself.

This tickle error definitely has something to do with these:

resource keys,
encryption keys,
agent GUIDs.

Data mismatch in the database can easily cause the decryption problems because the agent and the server try using encryption keys belonging to the different computer resources.

Resolution

Remove the duplicate communication profile for your SMP Server. Please refer to the following KB for the steps to follow:

SMP Server has a duplicated communication profile after migrating to a new server