PROCESS_HAS_LOCKED_PAGES
Code: 0x76 (118)
As HRESULT:- S: 0 (Success)
- C: 0 (Microsoft-defined)
- N: 0 (Not an NTSTATUS value)
- Facility: 0x000 (FACILITY_NULL: Default)
- Code: 0x0076 (118)
- Sev: 0 (STATUS_SEVERITY_SUCCESS)
- C: 0 (Microsoft-defined)
- Facility: 0x000 (Default)
- Code: 0x0076 (118)
Parameters
| Parameter | Description |
|---|---|
| 0x00 | The pointer to the process object |
| 0x01 | MDL specified by the driver |
Description
The PROCESS_HAS_LOCKED_PAGES bug check has a value of 0x00000076. This bug check indicates that a driver failed to release locked pages after an I/O operation, or that it attempted to unlock pages that were already unlocked.
Important
This article is for programmers. If you're a customer who has received a blue screen error code while using your computer, see Troubleshoot blue screen errors.
Cause
The driver either failed to unlock pages that it locked (parameter 1 value is 0x0), or the driver is attempting to unlock pages that have not been locked or that have already been unlocked (parameter 1 value is 0x1).
Resolution
The !analyze debug extension displays information about the bug check and can be helpful in determining the root cause.
If the parameter 1 value is 0x0
First use the !search extension on the current process pointer throughout all of physical memory. This extension might find at least one memory descriptor list (MDL) that points to the current process. Next, use !search on each MDL that you find to obtain the I/O request packet (IRP) that points to the current process. From this IRP, you can identify which driver is leaking the pages.
Otherwise, you can detect which driver caused the error by editing the registry:
- In the \\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management registry key, create or edit the TrackLockedPages value, and then set it equal to DWORD 1.
- Restart the computer.
The system then saves stack traces, so you can easily identify the driver that caused the problem. If the driver causes the same error again, bug check 0xCB (DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS) is issued, and the name of the driver that causes this error is displayed on the blue screen and stored in memory at the location (PUNICODE_STRING) KiBugCheckDriver.
If the parameter 1 value is 0x1
Examine the driver source code that locks and unlocks memory, and try to locate an instance where memory is unlocked without first being locked.
Article text from the Windows driver documentation (opens in a new tab), by Microsoft, under the CC BY 4.0 (opens in a new tab) licence.
Associated Modules
| Module | Code | Found in | Description |
|---|---|---|---|
| EventCreate.exe | 0x76 | 78.11011 | %1 |
| KernelBase.dll | 0x76 | 78.1 | The verify-on-write switch parameter value is not correct. |
| appmgr.dll | 0x76 | 78.11011 | Software Installation was unable to retrieve the list of categories from the DC. The following error was encountered: %1 |
| dsreg.dll | 0x76 | 1011 | Json Request Failed. Exit code: %1. httpStatus: %2 Server response: %3. |
| iscsiexe.dll | 0x76 | 78.11011 | The evaluation period for the iSCSI initiator service has passed. |
| kernel32.dll | 0x76 | 78.11011 | The verify-on-write switch parameter value is not correct. |
| nslookup.exe | 0x76 | 78.11011 | , recursion avail. |
| sc.exe | 0x76 | 78.11011 | DESCRIPTION:
Queries the service security identifier (SID) type
setting of a service.
If this setting is "unrestricted", the Service Control
Manager (SCM) will add this service's SID to the service
process token when the service process starts the next
time due to the first service in the process being started.
This setting is valid only for Win32 user mode services.
If this setting is "restricted", the Service Control
Manager (SCM) will add this service's SID to the service
process token when the service process starts the next
time due to the first service in the process being started.
In addition, this service's SID will also be added to
the restricting SID list in the process token. The process
token will be a restricted token. See MSDN for details on
restricted token. This setting is valid only for Win32
user mode services. In addition, for a share process service,
all services cohosted in the process must have this SID type
set for this to take effect.
If this setting is "none", the SCM will not add the service's
SID to the service process token.
USAGE:
sc |
| webservices.dll | 0x76 | 78.11011 | The HTTP server did not find an acceptable response format. |
| win32k.sys | 0x76 | 78.1 | IBeam |
| win32kbase.sys | 0x76 | 1011 | IBeam |
| 11 entries | |||