"Key violation, duplicate resource key has been found in task server list" error occurring in the logs

Article:TECH199328  |  Created: 2012-11-04  |  Updated: 2012-11-13  |  Article URL http://www.symantec.com/docs/TECH199328
Article Type
Technical Solution


After deploying a new Site Server the client noticed that the Altiris Logs were being filled with an error message regarding the newly deployed Site Server.


Log File Name: C:\ProgramData\Symantec\SMP\Logs\a.log
Priority: 2
Date: 5/11/2012 9:48:49 a.m.
Tick Count: 92689562
Host Name: XXXXX
Process: w3wp (3436)
Thread ID: 3
Module: w3wp.exe
Source: Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.GetTaskServers
Description: Key violation, duplicate resource key has been found in task server list. 74a9054f-078f-47e6-a7c0-fa473dffd0c7


Symantec Management Platform 7.1 SP2

Windows 2008 R2


This has been confirmed to be a product defect.

Routinely the SMP executes the following SQL Query to determine the exact number of Site Servers which have the Task Service installed:

SELECT CASE WHEN tcp.[Primary DNS Suffix] IS NOT NULL AND tcp.[Primary DNS Suffix] != '' THEN
[Host Name] + '.' + tcp.[Primary DNS Suffix]
WHEN [Host Name] IS NOT NULL THEN [Host Name]
WHEN [Host Name] IS NULL THEN vci.Name END,
FROM [dbo].[vTaskServiceResource] vts
JOIN [dbo].vRM_Computer_Item vci on vts.ResourceGuid = vci.Guid
INNER JOIN dbo.Inv_AeX_AC_Client_Agent ca on ca._ResourceGuid = vci.Guid and ca.Ident = 'CTSERVAGENT'
LEFT JOIN Inv_AeX_AC_TCPIP tcp ON tcp._ResourceGuid = vci.Guid AND
tcp.[_id] = (SELECT TOP 1 t.[_id]
WHERE vts.[ResourceGuid]=t.[_ResourceGuid] AND t.[IP Address] NOT IN ('', '', '') AND NOT t.[IP Address] IS NULL
ORDER BY t.Routable DESC)

However, in this instance the above SQL Query returned multiple rows for the affected Site Server. This was because there were two entries in the Inv_AeX_AC_Client_Agent table which referred to the 'CTSERVAGENT' ident.

Normally when a Site Server has the Task service installed it has two instances of the 'Altiris Client Task Server Agent' installed, a x86 and x64 version. However, only the x86 version should be listed in the Inv_AeX_AC_Client_Agent table with the 'CTSERVAGENT' ident


This issue will be resolved in an upcoming pointfix. The current solution is to remove the errornous second entry in the Inv_AeX_AC_Client_Agent table. This was accomplished by executing the following SQL Query:

DELETE FROM Inv_AeX_AC_Client_Agent
AND [Install Path] = 'ENTER THE PATH TO CTServerAgent_x64.dll'

Supplemental Materials


Article URL http://www.symantec.com/docs/TECH199328

Terms of use for this information are found in Legal Notices