Wednesday, January 18, 2012

Not getting any Feedback in Deploy / App?

You might be facing the problem that you suddenly don't get any Feedback anymore in Specops Deploy / App.
With possibly this error message;


There are a couple of possible causes but the first thing to do is verify that the "Specops Deploy Server" service is running.
Also, verify if there is any difference in behavior when try to access the Feedback from a remote client, or doing it locally on the server.

If the service is running and there is no difference in behavior between running GPMC / Control Center remotely or locally on the server. Then enable debug logging on the Server service and restart the service.

Details on how to enable debug logging here.
HKLM\Software\SpecopsSoft\Specops Deploy\Server\Debug = 1

Open the logfile and search for Exception and you may find something like this.

2012-01-12 16:25:00                  6692:4                               SpecopsDeployServer: [EXCEPTION]: System.InvalidOperationException: Custom counters file view is out of memory.|    at System.Diagnostics.SharedPerformanceCounter.CalculateMemory(Int32 oldOffset, Int32 totalSize, Int32& alignmentAdjustment)|    at System.Diagnostics.SharedPerformanceCounter.CreateInstance(CategoryEntry* categoryPointer, Int32 instanceNameHashCode, String instanceName, PerformanceCounterInstanceLifetime lifetime)|    at System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName, String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime lifetime)|    at System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)|    at System.Diagnostics.PerformanceCounter.Initialize()|    at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)|    at SpecopsSoft.SpecopsDeploy.Server.ServerPerformanceCounters.SetInstanceValue(Guid instanceName, Int32 instanceValue, DeploymentOperationClientState clientStateToSet)|    at SpecopsSoft.SpecopsDeploy.Server.SpecopsDeployServer.SynchronizePerformanceCounters()|    at SpecopsSoft.SpecopsDeploy.Server.SpecopsDeployServer.Initialize()|    at Specopssoft.GroupPolicy.GpExtensionServerBase.Start()


The problem in that case is that .NET Framework has run out of memory for the Performance Counters. And you need to increase that value.

The configuration for .NET Framework is stored here:
On a x64 Server, you will have to modify both files. 

Open the Machine.config file in Notepad and navigate to the end. Paste this information above the </Configuration> line.

<system.diagnostics>
<performanceCounters filemappingsize="1048576" /> 
</system.diagnostics>

So it looks like this; 


And then do the same for the x64 version of the file!

You can set the value as high as 33554432 and the default is 524288. The value represents the maximum amount of memory that the performance counters can use.
The example above doubles the default memory cap, but it is naturally possible to use any value below the maximum.

You need to reboot before the change is applied.

Your Feedback should now be working again.

No comments:

Post a Comment