From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Host problem with rushtop
   Date: Mon, 13 Jul 2015 14:48:40 -0400
Msg# 2398
View Complete Thread (3 articles) | All Threads
Last Next
On 03/04/08 14:04, Greg Ercolano wrote:
> Armando Ricalde wrote:
>> With one host (WinXP64) rushtop can't show data, it says:
>> PdhMakeCounterPath('\(0/(NULL))\'): A required argument is missing or incorrect
>> any suggestion?
> 
> 	Hmm, that's an odd one.
> 	I imagine you can run jobs normally on the box, and that
> 	this error is *only* affecting rushtop's display of cpu info.
> 
> 	The Microsoft DLL that handles the "Pdh" calls that Rush uses
> 	is Pdh.dll usually found in c:\windows\system32. If there's
> 	problems with this file, it can create such errors in Rush.


    In addition to the above regarding the PDH library .dll becoming corrupt
    (due to e.g. a hard reboot), apparently something else that can happen
    is the registry entries for the PDH library can become corrupted.

    I didn't know the PDH library uses special registry entries (why?!)
    to access cpu/ram/etc info, but apparently they can get corrupted
    by a hard reboot.

    Stan of Artifex studios recently wrote the following describing the
    steps he used to fix this issue on one of his machines:

"""
I just ran into an issue with one of our workstations not reporting stats
through Rushtop. I looked on forums and found the thread (This thread -erco)
relating to the same problem: http://seriss.com/cgi-bin/rush/newsgroup-threaded.cgi?-viewthread+1696+1698

I was able to find a solution and wanted to share it with you,
in case anyone else runs into trouble.

The cause of the problem in our case was a forced restart of the machine
that caused corruption in Windows Performance Data Helper.

The solution was to use a similar healthy workstation on the farm
as a registry donor.

The recovery file is generated on the healthy machine by going into Windows
command line and running "LODCTR /S:filename" where filename is the name
and location of the output. Example: "LODCTR /S:c:\pdhbackup.txt"

Then the file is transferred to the damaged machine, where restoration
is performed with a "LODCTR /R:filename" command. Example: "LODCTR /R:c:\pdhbackup.txt"
"""

    Thanks to Stan for this info; I posted this on his behalf with his
    permission -- sounds promising.

    Microsoft has documentation on this repair technique: just google for
    "lodctr", which comes up with these useful links, among others:


        How to manually rebuild Performance Counter Library values
        ==========================================================
        https://support.microsoft.com/en-us/kb/300956


        How to rebuild performance counters on Windows Vista/Server2008/7/Server2008R2
        ==============================================================================
        http://blogs.technet.com/b/yongrhee/archive/2009/10/06/how-to-rebuild-performance-counters-on-windows-vista-server2008-7-server2008r2.aspx


        The Lodctr command
        ==================
        https://technet.microsoft.com/en-us/library/bb490926.aspx
        https://technet.microsoft.com/en-us/library/hh875560.aspx

        I'm including a reduction of the above Lodctr docs
        (in case the link goes stale):

        """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
        USAGE
        lodctr <filename> [/s:<filename>] [/r:<filename>] [/t:<servicename>]

        PARAMETERS

        <filename>    - Registers the Performance counter name settings and
                        Explain text provided in initialization file FileName.

        /s:<filename> - Saves Performance counter registry settings and
                        Explain text to file <filename>.

        /r            - Restores counter registry settings and Explain text
                        from current registry settings and cached performance
                        files related to the registry.

                        This option is available only in the Windows Server 2003
                        operating system.

        /r:<filename> - Restores Performance counter registry settings and Explain
                        text from file <filename>.

                        Warning: If you use the lodctr /r command, you will overwrite
                        all Performance counter registry settings and Explain text,
                        replacing them with the configuration defined in the file
                        specified.

        /t:<servicename> - Indicates that service <servicename> is trusted.

        /?               - Help
        """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    Apparently there's newer versions of this command that support other arguments
    such as /E, /D, /Q and /M, e.g.

        LODCTR /E:<Service-Name>
            enable the performance counter service.

        LODCTR /D:<Service-Name>
            disable the performance counter service.

        LODCTR /Q

        LODCTR /Q:<Service-Name>
            query the performance counter service information, either query all
            or specified one.

        LODCTR /M:<Counter-Manifest>
            install Windows Vista performance counter provider definition XML file
            to system repository.

    I haven't tried the lodctr command myself, but then I haven't encountered
    this type of corruption before.

    But if you encounter this problem and want to fix it without reinstalling the OS,
    it's surely worth a shot..!


Last Next