How to troubleshoot a "STOP 0xC000021A" error (156669)



The information in this article applies to:

  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Workstation 4.0

This article was previously published under Q156669

SUMMARY

When you use a server or a workstation running one of the operating systems that is listed in the "Applies to" section, you may receive the following error message:
STOP: c000021a {Fatal System Error}
The Windows Logon Process system process terminated unexpectedly with a status of 0xc0000034 (0x00000000 0x0000000)
The system has been shutdown.
Note The parameters in parenthesis are specific to your computer configuration and may be different for each occurrence.

CAUSE

The STOP 0xC000021A error occurs when either Winlogon.exe or Csrss.exe fails. When the Windows NT kernel detects that either of these processes has stopped, it stops the system and raises the STOP 0xC000021A error. This error may have several causes, including, but not limited to the following:
  • Mismatched system files have been installed.
  • A Service Pack installation has failed.
  • A backup program that as used to restore a hard disk did not correctly restore files that may have been in use.
  • An incompatible third party program been installed.

MORE INFORMATION

To troubleshoot this problem, you must determine which of these processes failed and why.

To determine which process failed, register Dr. Watson as the default system debugger (if it is not already the default debugger). Dr. Watson for Windows NT logs diagnostic information about process failures to a log file (Drwtsn32.log). Also, you can configure this program to produce memory dump files of failed processes that you can analyze in a debugger to determine why a process fails.

To set up Dr. Watson to trap user-mode program errors, follow these steps:
  1. At a command prompt, type System Root\System32\Drwtsn32.exe -I, and then press ENTER.

    This command configures Dr. Watson as the default system debugger.
  2. At a command prompt, type System Root\System32\Drwtsn32.exe, and then select the following options:

    Append to existing log file
    Create crash dump
    Visual Notification

  3. After the computer restarts from the STOP 0xC000021A error, run Dr. Watson (Drwtsn32.exe).
  4. View the Dr. Watson log to determine what user mode process may be causing the problem.
  5. If the Dr. Watson log does not contain sufficient information to determine the cause of the problem, analyze the User.dmp file to determine the cause of the STOP 0xC000021A error.

    If Dr. Watson did not create a User.dmp file for either Winlogon.exe or Csrss.exe, you may have to use a different tool to generate a memory dump file of the process that fails. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

    241215 How to use the Userdump.exe tool to create a dump file

    Note Follow the instructions in the Knowledge Base article to troubleshoot a process that shuts down with an exception. While you follow these instructions, monitor the following processes to troubleshoot the STOP 0xC000021A error:
    • Winlogon.exe
    • Csrss.exe
    Note Most STOP 0xC000021A errors occur because Winlogon.exe fails, which typically occurs because of a faulty third-party Graphical Identification and Authentication (GINA) DLL. The GINA is a replaceable DLL component that Winlogon.exe loads. The GINA implements the authentication policy of the interactive logon model. The GINA performs all identification and authentication user interactions.
It is very common for certain types of remote control software to replace the default Windows GINA DLL (Msgina.dll). Therefore, a good first step is to examine the system to see if it has a third-party GINA DLL. To do this, locate the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Value = GinaDLL REG_SZ

  • If the Gina DLL value is present and is anything other than Msgina.dll, this probably means that a third-party product has changed this value.
  • If this value is not present, the system uses Msgina.dll as the default GINA DLL.
If this error first occurred after the installation of a new or updated device driver, system service, or third-party program, the new software should be removed or disabled. Contact the manufacturer of the software to see if an update is available. For information about how to contact the manufacturer of the software, click the appropriate article number in the following list to view the article in the Microsoft Knowledge Base:

65416 Hardware and Software Third-Party Vendor Contact List, A-K

60781 Hardware and Software Third-Party Vendor Contact List, L-P

60782 Hardware and Software Third-Party Vendor Contact List, Q-Z

Last known good configuration

If the previous steps in this article do not resolve the problem, start the computer using the last known good configuration. To start the computer using the last known good configuration, follow these steps:Note Because there are several versions of Microsoft Windows, the following steps may be different on your computer. If they are, see your product documentation to complete these steps.
  1. Click Start, and then click Shut Down.
  2. Click Restart, and then click OK.
  3. Press F8 at the indicated time:
    • For an x86-based computer: When a screen of text appears and then disappears (the screen of text may include a memory test, lines about the BIOS, and other lines), press F8. There may be a prompt that tells you when to press F8.
    • For an Itanium architecture-based computer: After making your selection from the boot menu, press F8. There may be a prompt that tells you when to press F8.
  4. Use the arrow keys to select Last Known Good Configuration, and then press ENTER.

    NUM LOCK must be off before the arrow keys on the numeric keypad will function.
  5. Use the arrow keys to highlight an operating system, and then press ENTER.
Notes
  • Choosing the Last Known Good Configuration startup option provides a way to recover from problems such as a newly added driver that may be incorrect for your hardware. It does not solve problems caused by corrupted or missing drivers or files.
  • When you choose Last Known Good Configuration, only the information in registry key HKLM\System\CurrentControlSet is restored. Any changes you have made in other registry keys remain.

In-place upgrade

If the previous steps in this article do not resolve the problem, perform an in-place upgrade. For additional information about how to do this,, click the following article numbers to view the articles in the Microsoft Knowledge Base:

292175 How to perform an in-place upgrade of Windows 2000

315341 How to perform an in-place upgrade (reinstallation) of Windows XP

816579 How to perform an in-place upgrade of Windows Server 2003

Remove incompatible software using the Recovery Console

If the previous steps in this article do not resolve the problem, remove incompatible software using the Recovery Console. Complete steps describing how to do this are beyond the scope of this article. However, you may be able to use the following articles as guidelines for performing this procedure.

313670 HOW TO: Replace a driver by using Recovery Console in Windows 2000

816104 HOW TO: Replace a driver by using Recovery Console in Windows Server 2003

326215 HOW TO: Use the Recovery Console on a Windows Server 2003-based computer that does not start

229716 Description of the Windows 2000 Recovery Console

307654 HOW TO: Install and use the Recovery Console in Windows XP

307545 How to recover from a corrupted registry that prevents Windows XP from starting

216417 HOW TO: Install the Windows Recovery Console


Modification Type:MajorLast Reviewed:5/7/2004
Keywords:kbhowto kbnetwork KB156669