What is

Unknown status / error value


Could be also:

ERROR_NOT_DOS_DISKWin32 errorWindows
ippStsOvermuchStringsIntel Ipp StatusAny


The MEMORY_MANAGEMENT bug check has a value of 0x0000001A. This indicates that a severe memory management error occurred.


This topic is for programmers. If you are a customer who has received a blue screen error code while using your computer, see Troubleshoot blue screen errors.


Parameter 1 identifies the exact violation.

Parameter 1 Cause of Error


The fork clone block reference count is corrupt. This only occurs on checked builds of Windows. Checked builds were available on older versions of Windows, before Windows 10 version 1803.


The image relocation fix-up table or code stream has been corrupted. This is probably a hardware error.


An inpage operation failed with a CRC error. Parameter 2 contains the pagefile offset. Parameter 3 contains the page CRC value. Parameter 4 contains the expected CRC value.


The page table and PFNs are out of sync . This is probably a hardware error, especially if parameters 3 & 4 differ by only a single bit.


In the process of deleting a system page there was an inconsistency between the Page Frame Number (PFN) and the current Page Table Entry (PTE) pointer. Parameter 2 is the expected PTE. Parameter 3 is the PTE contents and parameter 4 is the PFN’s PTE.


A page table entry (PTE) has been corrupted. Parameter 2 is the address of the PTE.


The caller is unlocking a system cache address that is not currently locked. (This address was either never mapped or is being unlocked twice.)


The system is using the very last system cache view address, instead of preserving it.



The PTEs mapping the argument system cache view have been corrupted.


A caller of MmGetSystemAddressForMdl* tried to map a fully-cached physical page as non-cached. This action would cause a conflicting hardware translation buffer entry, and so it was refused by the operating system. Since the caller specified "bug check on failure" in the requesting MDL, the system had no choice but to issue a bug check in this instance.


The caller is unlocking a pageable section that is not currently locked. (This section was either never locked or is being unlocked twice.)


A driver tried to map a physical memory page that was not locked. This is illegal because the contents or attributes of the page can change at any time. This is a bug in the code that made the mapping call. Parameter 2 is the page frame number of the physical page that the driver attempted to map.


The caller is trying lock a nonexistent pageable section.


The caller is trying to protect an MDL with an invalid mapping.


The caller specified an MDL that contains an unlocked (or invalid) physical page. Parameter 2 contains a pointer to the MDL. Parameter 3 contains a pointer to the invalid PFN. Parameter 4 contains the invalid PFN value.


It is illegal for callers to build an MDL for a virtual address range that is not resident. Parameter 2 is the Memory Descriptor List (MDL) and Parameter 3 is the PTE pointer.


The virtual address for the MDL was unexpectedly asynchronously unmapped midway through the call to build the MDL. Parameter 2 is the MDL, Parameter 3 is the PTE pointer.


In the process of performing a write, the referenced virtual address is mistakenly marked as copy on write. Parameter 2 is the FaultingAddress. Parameter 3 is the PTE contents. Parameter 4 indicates the virtual address space type.


The PTEs of a kernel thread stack that has been swapped out are corrupted.


All the page table pages of an exited process could not be deleted due to outstanding references. This typically indicates corruption in the process’ page table structures.


A cached kernel stack was corrupted while on the freelist – this memory corruption indicates a serious problem of which the calling stack may be a victim or a culprit. Parameter 2 is Virtual Address (VA), Parameter 3 is the VA Cookie.


A driver tried to write to an unallocated address in the user space of the system process. Parameter 2 contains the address of the attempted write.


The working set free list is corrupt. This is probably a hardware error.


The allocation bitmap is corrupt. The memory manager is about to overwrite a virtual address that was already in use.


A page on a free pool SLIST has been corrupted. This can be the result of a write-after-free bug in a driver, or an overrun from a previous page. Parameter 2 contains the address of a free pool block. Parameter 4 contains the value that was expected to be at that address. Parameter 3 contains the actual value that was found.


The caller is specifying an invalid pool address (parameter 2) to free. Parameter 2 is Virtual Address (VA) being evaluated, Parameter 3 is the region size.


The memory store component’s private memory range is corrupted, causing it to become inaccessible. Parameter 2 is the returned status. Parameter 3 is the virtual address in the store’s private memory range. Parameter 4 is the MemoryDescriptorList.





(Windows 7 and later). Two pages on the standby list that were supposed to have identical page priority values do not, in fact, have identical page priority values. The differing values are captured in parameter 4.



Internal memory management structures are corrupted.


Internal memory management structures (likely the PTE or PFN) are corrupted.


A PFN (parameter 2) was encountered with a corrupted linkage no longer connected to its top level process. This indicates corruption in the PFN structures.


The caller is supplying either the wrong address or is calling this routine in the wrong process context. Both are illegal because we cannot unsecure a range we cannot find due to this error. Parameter 2 is the Virtual Address (VA) being evaluated.


An error occurred In the process of un-securing memory that was previously secured. This can happen when the caller mistakenly invoked MmUnsecureVirtualMemory in the wrong process context.


In the process of querying a virtual address, there was an inconsistency between the Page Frame Number(PFN) and the current Page Table Entry (PTE) pointer. Parameter 2 is the corresponding PTE. Parameter 3 is the PTE contents and parameter 4 is the virtual address descriptor.


In the process of determining the page protection of a non-zero PTE, it was determined that the PTE is corrupt. Parameter 2 is the PTE pointer, Parameter 3 is the PTE contents and Parameter 4 is Virtual Address Descriptor (VAD).


The working set index encoded in the PTE is corrupted.


A PTE or the working set list is corrupted.


The caller is trying to free an invalid pool address.


The working set list is corrupted.


An illegal page fault occurred while holding working set synchronization. Parameter 2 contains the referenced virtual address.


A page table page has been corrupted. On a 64 bit version of Windows, parameter 2 contains the address of the PFN for the corrupted page table page. On a 32 bit version of Windows, parameter 2 contains a pointer to the number of used PTEs, and parameter 3 contains the number of used PTEs.


A corrupted PTE has been detected. Parameter 2 contains the address of the PTE. Parameters 3/4 contain the low/high parts of the PTE.


A page table page has been corrupted. Parameter 2 contains a pointer to the last processed PTE. Parameter 3 contains the number of non-zero PTEs found. Parameter 4 contains the expected number of non-zero PTEs in the page table.

This memory parameter has been deprecated and is no longer available after Windows 10 version 1803.


A PDE has been unexpectedly invalidated.


The paging hierarchy is corrupt. Parameter 2 is a pointer to the virtual address which caused the fault.


The MDL being created is flawed. This almost always means the driver calling MmProbeAndLockPages is at fault. Typically the driver is attempting to create a Write MDL when it is being asked to process a paging Read.


In the process of decrementing the reference counts for an I/O space region, its accounting node could not be found. Typically this means the argument range was never locked or has already been unlocked. Parameter 2 is the base I/O frame. Parameter 3 is the number of pages in the region, and parameter 4 is the specific I/O frame whose node could not be found.


The IoPageFrameNode is null. Parameter 2 is PageFrameIndex.


An error occurred when decrementing the reference counts on I/O space physical pages which are being unmapped. An entry which is not currently referenced is being dereferenced. Parameter 2 and 3 describe the caller’s I/O space range being unmapped, and parameter 4 is the I/O space physical page which is expected to be referenced but is not.


The boot loader is broken. (This value applies only to Intel Itanium machines.)


The range to remove (or truncate) is in use by the loader so it cannot be safely removed, so the system must issue a stop code. Parameter 2 is HighestPhysicalPage.


The !analyze debug extension displays information about the bug check and can be helpful in determining the root cause.

Running the Windows Memory Diagnostic tool could be useful as well to exclude any kind of problem affecting the physical memory modules.

About “What is” service

Many of users are faced with the problem of interpreting errors that occur during the work of operating systems. In some cases, the operating system reports that an error has occurred and displays only an integer error code value. Often it is difficult to even roughly understand the cause of the error from the information given out. Our “what is” service contains a database of errors in Windows, Linux, Macos and Solaris operating systems. The database contains tens of thousands of values. In most cases, the online service will be able to help with the definition of the short name of the error and its detailed description.


Current version of service supports following types of error and status codes:

NTSTATUSMany kernel-mode standard driver routines and driver support routines use the NTSTATUS type for return values. Additionally, drivers provide an NTSTATUS-typed value in an IRP’s IO_STATUS_BLOCK structure when completing IRPs. The NTSTATUS type is defined in Ntdef.h, and system-supplied status codes are defined in Ntstatus.h.
Win32 errorWin32 error codes MUST be in the range 0x0000 to 0xFFFF, although Win32 error codes can be used both in 16-bit fields (such as within the HRESULT type specified in section 2.1) as well as 32-bit fields. Most values also have a default message defined, which can be used to map the value to a human-readable text message; when this is done, the Win32 error code is also known as a message identifier.
HRESULTHRESULT is a data type used in Windows operating systems, and the earlier IBM/Microsoft OS/2 operating system, to represent error conditions, and warning conditions.
The original purpose of HRESULTs was to formally lay out ranges of error codes for both public and Microsoft internal use in order to prevent collisions between error codes in different subsystems of the OS/2 operating system.
HRESULTs are numerical error codes. Various bits within an HRESULT encode information about the nature of the error code, and where it came from.
HRESULT error codes are most commonly encountered in COM programming, where they form the basis for a standardized COM error handling convention.
HTTP Status CodeHypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The message phrases shown are typical, but any human-readable alternative may be provided.
errnoInteger value, which is returned by system calls and some library functions in the event of an error to indicate what went wrong. errno is defined by the ISO C standard to be a modifiable lvalue of type int, and must not be explicitly declared; errno may be a macro. errno is thread-local; setting it in one thread does not affect its value in any other thread.
Kern ReturnApple Kernel return codes.
Ipp StatusThe IppStatus constant enumerates the status values returned by the Intel IPP functions, indicating
whether the operation is error-free.
Types of error and status codes

Source code

The service is based on the open source library AllStat. Its sources are available on our git server. We will be grateful for your participation in the finalization of the library and ideas for the development of the service. You can also download ErrorLookup libraries and utilities from our site.