Event ID:1010 The Collect Procedure for the NetIQmc service in DLL mccnt.dll generated an exception (NETIQKB27253)

  • 7727253
  • 02-Feb-2007
  • 03-Aug-2010

Environment

AppManager Suite 6.x
AppManager Suite 7.0.x


Situation

Event ID:1010 The Collect Procedure for the NetIQmc service in DLL mccnt.dll generated an exception

The following event appears in the Windows Application Event log on a machine where an AppManager Agent is installed.

Source: perflib
Event ID: 1010
The Collect Procedure for the "NetIQmc" service in DLL "c:\Program Files\NetIQ\AppManager\bin\mccnt.dll" generated an exception or returned an invalid status. Performance data returned by counter DLL will be not be returned in Perf Data Block. Exception or status code returned is data DWORD 0.

Resolution

In order to resolve this issue first verify that the following three steps to ensure the performance DLL is properly located and referenced on the machine: 1.

  1. Verify that the file mccnt.dll resides in the %NetIQInstallPath%\AppManager\bin directory on the agent.
  2. Verify the following registry value points to the correct directory in which the mccnt.dll file resides: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\NetIQmcCnt]
    "EventMessageFile"="c:\Progra~1\netiq\AppManager\bin\mccnt.dll"
    "TypesSupported" = DWORD:00000007
  3. Using the Registry Editor, restore the values listed below into the registry on the AppManager agent:

REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetIQmc\Performance]
"Library"="c:\Progra~1\netiq\AppManager\bin\mccnt.dll"
"Open"="OpenNetIQmcPerformanceData"
"Collect"="CollectNetIQmcPerformanceData"
"Close"="CloseNetIQmcPerformanceData"
"Last Counter"=REG_DWORD:000023f8
"Last Help"=REG_DWORD:000023f9
"First Counter"=REG_DWORD:0000238c
"First Help"=REG_DWORD:0000238d
"WbemAdapFileTime"=REG_BINARY:00,e2,50,dd,13,e5,c2,01
"WbemAdapFileSize"=REG_DWORD:0001a03e
"WbemAdapStatus"=REG_DWORD:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\NetIQmcCnt]
"EventMessageFile" = "c:\Progra~1\netiq\AppManager\bin\mccnt.dll"
"TypesSupported" = dword:00000007

You can use REGEDIT to import these values automatically, by saving the list above to the file c:\Program Files\NetIQ\Appmanager\Bin\MCCNT.REG on the agent, then importing it to the registry by double-clicking the file


If the AppManager Agent's performance objects are not being monitored, it is safe to disable the extensible counter, using the method described in the following Microsoft Knowledgebase article:

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q248993&

The Registry value to be added/updated will be located under the following Registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetIQmc\Performance

Disable Performance Counters = (DWORD) 1

Cause

This message is generated by Perflib when it has failed to properly load or reload the AppManager agent's Extensible Performance Counters (mccnt.dll).  Perflib calls the performance extension functions in a structured exception handler __try block. This is posted if an exception occurred or RaiseException was called in the Collect function. The data field will have the exception code. For example, C0000005 means there was an Access Violation. 
 
According to Microsoft Knowledgebase article 330259, This problem may occur because the Performance Monitor component (Pdh.dll) generates "Global" calls to the RegQueryValueExW function that causes all performance counters to be loaded, even though only specific objects may be requested by the running program. This problem may cause one or more of the symptoms if multiple extension DLL files that are incompatible or problematic are loaded at the same time.

Additional Information

Formerly known as NETIQKB27253

This extensible counter is NOT required to be loaded in order for the AppManager agent to function properly.  It is merely installed for troubleshooting purposes.  Any errors generated by PerfLib, referencing this extensible counter (mccnt.dll) can usually be ignored.

In general, the Windows operating system will automatically disable any extensible counter DLL that it is unable to reliably load. The following Microsoft KnowledgeBase article explains how and why Windows may disable a counter, and how to manually re-enable that counter:

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q248993&

The following Microsoft KnowledgeBase article lists ALL possible Performance Library (perflib) errors that can be generated with respect to a given extensible counter.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;226494

The following Microsoft KnowledgeBase article contains additional tips and tricks for troubleshooting these errors:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q152513

The following Microsoft KnowledgeBase article outlines performance problems with PerfMon counters which have been resolved by Microsoft in Windows 2000 SP4.

http://support.microsoft.com/default.aspx?scid=kb;[LN];330259