Microsoft KB Archive/256010

From BetaArchive Wiki
Knowledge Base


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

Article ID: 256010

Article Last Modified on 2/28/2007



APPLIES TO

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)



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.

Keywords: kbinfo kbtshoot KB256010