Q171033: Remote Performance Monitor Changes Under Windows NT 4.0 SP3
Article: Q171033
Product(s): Microsoft Windows NT
Version(s): 1.0
Operating System(s):
Keyword(s): kbinterop
Last Modified: 07-DEC-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Commercial Internet Server, version 1.0
-------------------------------------------------------------------------------
IMPORTANT: This article contains information about editing the registry.
Before you edit the registry, make sure you understand how to restore it
if a problem occurs. For information about how to do this, view the
"Restoring the Registry" Help topic in Regedit.exe or the "Restoring a
Registry Key" Help topic in Regedt32.exe.
SYMPTOMS
========
At some point after you install Windows NT 4.0 Service Pack 3, the computer
experiences a STOP 0xC000021A during normal operation.
CAUSE
=====
When Performance Monitor is used to monitor a computer remotely, the initiating
computer attaches to the target computer's Winlogon process through remote
procedure call (RPC). Winlogon has a performance library component for
collecting data. The shared data is passed from the performance dll to Winlogon
on the target computer. Performance dll's sometimes misbehave and overwrite
their buffers. In the case of remote monitoring, this overwrite occurs in the
context of the Winlogon process and causes an access violation on the target
computer. This compromises the Winlogon subsystem and potentially causes a
breach in security.
RESOLUTION
==========
Perform one of the following procedures:
- Fix the extensible performance counter so that it doesn't overwrite its
buffers. Performance DLL's export (make available to other modules) three
functions - Open, Collect, and Close (see "Creating the Performance DLL" in
the Microsoft WIN32 Software Developer's Kit). Usually the Collect function
is the culprit.
-or-
- Configure Windows NT to write a guard page on either side of the shared
memory buffer with various levels of checking. This technology was enabled by
default up to Service Pack 3 but caused too many page faults for large
counters, significantly degrading system performance. In Service Pack 3 the
guard pages and checking were turned off by default. To enable this guard
page technology, create this value under the following subkey:
WARNING: Using Registry Editor incorrectly can cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that
problems resulting from the incorrect use of Registry Editor can be solved. Use
Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys And
Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete
Information in the Registry" and "Edit Registry Data" Help topics in
Regedt32.exe. Note that you should back up the registry before you edit it.
1. Run Registry Editor (Regedt32.exe).
2. From the HKEY_LOCAL_MACHINE subtree, go to the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT
\CurrentVersion\Perflib
3. Click Add Value on the Edit menu.
4. Add the following value:
Value Name: ExtCounterTestLevel
Data Type: REG_DWORD
Data: 2
NOTE: The ExtCounterTestLevel value ranges from 1 to 4:
1 - Most extensive testing, can be expensive.
2 - Basic testing.
3 - No testing.
4 - Don't even allocate a guard page (default from Service
Pack 3 onwards).
5. Click OK and then quit Registry Editor.
6. Shut down and restart Windows NT.
STATUS
======
Microsoft has confirmed this to be a problem in Microsoft Commercial Internet
System version 1.0. We are researching this problem and will post new
information here in the Microsoft Knowledge Base as it becomes available.
Additional query words: kernel bugcheck perflib mbs perfmon c000021a
======================================================================
Keywords : kbinterop
Technology : kbAudDeveloper kbMCISSearch kbMCIServ100
Version : :1.0
Hardware : x86
Issue type : kbbug
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.