Agents No Longer Check-in After Adding a Patch Task in which a Service Pack Group is used

Version 1

    Symptoms

     

    Agents no longer check-in successfully after adding a patch task to the agent policy in which a service pack group is used.

     

    Within the ST.ServiceHost.managed log file you will see logging similar to this:

    2014-11-16T15:23:17.4617804Z 0073 E AgentStateService.cs:298|Failed to synchronize agent '7744157F9C758D8C31B9802ED9C66B726E34A0C3@41898420-8f7c-40f6-965a-b534f24cbcc3': System.ArgumentException: Exception of type 'System.ArgumentException' was thrown.

    Parameter name: approvedServicePackName

    at ST.Engines.Policy.Capabilities.Patch.ProductServicePack..ctor(Int32 productId, Int32 approvedOrdinal, String approvedServicePackName, Boolean useLatest)

    at ST.Agent.Client.Policy.PatchCapabilityAdapter.CreateServicePackDeploymentOptions(PatchTask task)

    at ST.Agent.Client.Policy.PatchCapabilityAdapter.CreatePatchScanOperation(PatchTask task)

    at ST.Agent.Client.Policy.PatchCapabilityAdapter.CreateScheduledPatchOperations(Policy policyData)

    at ST.Agent.Client.Policy.PatchCapabilityAdapter.Create(Policy policyData)

    at ST.Agent.Client.Policy.PolicyAdapter.CreateCapabilities(Policy policyData, SummaryDetailCache cache)

    at ST.Agent.Client.Policy.PolicyAdapter.Create(Policy policyData)

    at ST.Services.Agent.Protect.UpdateAgentStateBase.GetSerializedPolicy(Policy requestedPolicy, Boolean includeLegacySignature)

    at ST.Services.Agent.Protect.UpdateAgentState.<GetAgentStateAsync>d__0.MoveNext()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()

    at ST.Services.Agent.Protect.AgentServiceStore.<RetrievePolicyPerAgentAsync>d__4.MoveNext()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()

    at ST.Services.Agent.V81.AgentStateService.<SynchronizeInternalAsync>d__18.MoveNext()

     

     

    Cause

     

    Some possible corruption of data for service pack groups has caused fields within the selected service pack group to be left blank. When these fields are left blank it makes the agent policy invalid.

     

    Example of what you might see when you open the service pack group being used:

    EmptyValue.jpg

     

    Generally these fields are filled in by default.

     

    Resolution

     

    Shavlik has created a defect for this issue so that this behavior can be prevented in a future release of Protect.

     

    Workaround:

     

    Within the service pack group being used - ensure that there is a selection chosen for any fields coming up empty. Make sure to check all tabs of the service pack group.

    Untitled.jpg

     

    Additional Information

     

    From Shavlik Protect Help Documentation:

     

    Affected Product(s)

     

    Shavlik Protect 9.1.x

    Shavlik Protect 9.0.x