"STOP 0x00000076 - PROCESS_HAS_LOCKED_PAGES" error message in Windows 2000, Windows XP Professional, and Windows Server 2003, Standard Edition (256010)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Standard Edition

This article was previously published under Q256010
Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SUMMARY

A Windows 2000-based computer may display one of the following error messages on a blue screen:
STOP: 0x00000076 (0xY,0xY,0xY,0xY) PROCESS_HAS_LOCKED_PAGES
STOP: 0x000000CB (0xY,0xY,0xY,0xY) DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
The parameters in these error messages vary, depending on the programs in use and the system configuration.

MORE INFORMATION

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

The "STOP: 0x00000076 (0xY,0xY,0xY,0xY) PROCESS_HAS_LOCKED_PAGES" error message is caused by a driver not cleaning up completely after an I/O operation.

Parameter 1 - 0
Parameter 2 - process address
Parameter 3 - number of locked pages
Parameter 4 - pointer to driver stacks (if enabled) or 0 if not

Windows 2000 includes a registry value that you can use to save stack traces that enable you to identify the problem driver. Use Registry Editor (Regedt32.exe) to view the following registry key:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Add the following registry value, and then restart your computer:

Value Name: TrackLockedPages
Value Type: REG_DWORD
Value Data: 1
Radix: hexadecimal

After you make this change, Windows saves stack traces so that you can identify the problem driver. There is no other way to determine which driver is neglecting to clean up the I/O operations. After you enable this flag, if the driver commits the error again, you see the following error message:
STOP: 0x000000CB (0xY,0xY,0xY,0xY) DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS

Parameter 1 - The calling address in the driver that locked the pages
Parameter 2 - The caller of the calling address in the driver that locked the pages
Parameter 3 - A pointer to the MDL containing the locked pages
Parameter 4 - The problem driver's name (Unicode string)

The problem driver's name is listed on the blue "Stop" screen and is available for dumping again as the fourth parameter in the "Stop" data.

After you identify and update or remove the problem driver, you should remove the TrackLockedPages value from the registry.

Modification Type:MinorLast Reviewed:9/6/2006
Keywords:kbinfo kbtshoot KB256010