Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Problem

When starting the Piccadilly service you may receive an error like this:

Code Block
languagec#
 Service cannot be started.

System.InvalidOperationException: Cannot load Counter Name data because an invalid index '' was read from the registry.
   at System.Diagnostics.PerformanceCounterLib.GetStringTable(Boolean isHelp)
   at System.Diagnostics.PerformanceCounterLib.get_NameTable()
   at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
   at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)
   at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)
   at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName)
   at Witness.Framework.Core.Common.TaskQueueThreadPerformanceCounters.iIj6gBM0rfUkpmUp9V8(Object)
   at Witness.Framework.Core.Common.TaskQueueThreadPerformanceCounters..ctor(String category, String instance)
   at Witness.Framework.Core.Common.TaskQueueThread`1.Start()
   at Witness.Framework.Common.Navtech.Logging.DhiYXbWHt6ILqkVFVfO(Object )
   at Witness.Framework.Common.Navtech.Logging..ctor(Strin...

 

Solution

This error occurs when one of the performance counter registrations used by Witness has become corrupt. These performance counters are stored in the registry and in certain situations can become corrupt. Its not clear why, but it is a recognised error state and Microsoft have a documented fix.

Solution


To resolve the problem, you need to run a command, either directly or through Windows command prompt:

Panel
bgColor#fff
  1. Esnure you have logged onto the PC as an administrator.
  2. Open a Windows Command prompt or, assuming your version of WIndows supports it, open the Run dialog.
  3. Enter the following command: lodctr.exe /r  
  4. Select return.

Filter by label (Content by label)
showLabelsfalse
max5
spacesWIT
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("registry","performance","piccadilly","counter") and type = "page" and space = "WIT"
labelsperformance piccadilly registry counter

...