Debugging Tools for Windows

Bug Check 0xDA: SYSTEM_PTE_MISUSE

The SYSTEM_PTE_MISUSE bug check has a value of 0x000000DA. This indicates that a page table entry (PTE) routine has been used in an improper way.

Parameters

The following parameters are displayed on the blue screen. Parameter 1 indicates the type of violation. The meaning of the other parameters depends on the value of Parameter 1.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Cause of Error
0x01 The address of the internal lock tracking structure The address of the memory descriptor list The address of the duplicate internal lock tracking structure The mapping being freed is a duplicate.
0x02 The address of the internal lock tracking structure The number of mappings that the system expects to free The number of mappings that the driver is requesting to free The number of mappings being freed is incorrect.
0x03 The address of the first internal tracking structure found The mapping address that the system expects to free The mapping address that the driver is requesting to free The mapping address being freed is incorrect.
0x04 The address of the internal lock tracking structure The page frame number that the system expects should be first in the MDL The page frame number that is currently first in the MDL The first page of the mapped MDL has changed since the MDL was mapped.
0x05 The address of the first internal tracking structure found The virtual address that the system expects to free The virtual address that the driver is requesting to free The start virtual address in the MDL being freed has changed since the MDL was mapped.
0x06 The MDL specified by the driver The virtual address specified by the driver The number of mappings to free (specified by the driver) The MDL being freed was never (or is currently not) mapped.
0x07 The initial mapping The number of mappings Reserved (Windows 2000 only) The mapping range is being double-allocated.
0x08 The initial mapping The number of mappings the caller is freeing The number of mappings the system thinks should be freed (Windows 2000 only) The caller is asking to free an incorrect number of mappings.
0x09 The initial mapping The number of mappings that the caller is freeing The mapping index that the system thinks is already free (Windows 2000 only) The caller is asking to free several mappings, but at least one of them is not allocated.
0x0A 1: The driver requested "bug check on failure" in the MDL.

0: The driver did not request "bug check on failure" in the MDL.

The number of mappings that the caller is allocating The type of mapping pool requested (Windows 2000 only) The caller is asking to allocate zero mappings.
0x0B The corrupt mapping The number of mappings that the caller is allocating The type of mapping pool requested (Windows 2000 only) The mapping list was already corrupt at the time of this allocation. The corrupt mapping is located below the lowest possible mapping address.
0x0C The corrupt mapping The number of mappings that the caller is allocating The type of mapping pool requested (Windows 2000 only) The mapping list was already corrupt at the time of this allocation. The corrupt mapping is located above the lowest possible mapping address.
0x0D The initial mapping The number of mappings that the caller is freeing The type of mapping pool (Windows 2000 only) The caller is trying to free zero mappings.
0x0E The initial mapping The number of mappings that the caller is freeing The type of mapping pool (Windows 2000 only) The caller is trying to free mappings, but the guard mapping has been overwritten.
0x0F The non-existent mapping The number of mappings that the caller is trying to free The type of mapping pool being freed (Windows 2000 only) The caller is trying to free a non-existent mapping. The non-existent mapping is located below the lowest possible mapping address.
0x10 The non-existent mapping The number of mappings the caller is trying to free The type of mapping pool being freed (Windows 2000 only) The caller is trying to free a non-existent mapping. The non-existent mapping is located above the highest possible mapping address.
0x11 The non-existent mapping The number of mappings that the caller is trying to free The type of mapping pool being freed (Windows 2000 only) The caller is trying to free a non-existent mapping. The non-existent mapping is at the base of the mapping address space.
0x100 The number of mappings being requested The caller's identifying tag The address of the routine that called the caller of this routine (Windows XP and later only) The caller requested 0 mappings.
0x101 The first mapping address The caller's identifying tag The owner's identifying tag (Windows XP and later only) A caller is trying to free a mapping address range that it does not own.
0x102 The first mapping address The caller's identifying tag Reserved (Windows XP and later only) The mapping address space that the caller is trying to free is apparently empty.
0x103 The address of the invalid mapping The caller's identifying tag The number of mappings in the mapping address space (Windows XP and later only) The mapping address space that the caller is trying to free is still reserved. MmUnmapReservedMapping

must be called before MmFreeMappingAddress.

0x104 The first mapping address The caller's identifying tag The owner's identifying tag (Windows XP and later only) The caller is attempting to map an MDL to a mapping address space that it does not own.
0x105 The first mapping address The caller's identifying tag Reserved (Windows XP and later only) The caller is attempting to map an MDL to an invalid mapping address space. The caller has mostly likely specified an invalid address.
0x107 The first mapping address The address of the non-empty mapping The last mapping address (Windows XP and later only) The caller is attempting to map an MDL to a mapping address space that has not been properly reserved. The caller should have called MmUnmapReservedMapping prior to calling MmMapLockedPagesWithReservedMapping
0x108 The first mapping address The caller's identifying tag The owner's identifying tag (Windows XP and later only) The caller is attempting to unmap a locked mapping address space that it does not own.
0x109 The first mapping address The caller's identifying tag Reserved (Windows XP and later only) The caller is attempting to unmap a locked virtual address space that is apparently empty.
0x10A The first mapping address The number of mappings in the locked mapping address space The number of mappings to unmap (Windows XP and later only) The caller is attempting to unmap more mappings than actually exist in the locked mapping address space.
0x10B The first mapping address The caller's identifying tag The number of mappings to unmap (Windows XP and later only) The caller is attempting to unmap a portion of a locked virtual address space that is not currently mapped.
0x10C The first mapping address The caller's identifying tag The number of mappings to unmap (Windows XP and later only) The caller is not unmapping the entirety of the locked mapping address space.
0x200 The first mapping address 0 0 (Windows XP and later only) The caller is attempting to reserve a mapping address space that contains no mappings.
0x201
0x202
The first mapping address to reserve The address of the mapping that has already been reserved The number of mappings to reserve (Windows XP and later only) One of the mappings that the caller is attempting to reserve has already been reserved.
0x300 The first mapping address to release 0 0 (Windows XP and later only) The caller is attempting to release a mapping address space that contains no mappings.
0x301 The address of the mapping 0 0 (Windows XP and later only) The caller is attempting to release a mapping that it is not permitted to release.
0x303 The first mapping address The number of mappings to release 0 (Windows XP and later only) The caller is attempting to release a mapping address range that was not reserved.
0x304 The first mapping address The number of mappings to release 0 (Windows XP and later only) The caller is attempting to release a mapping address range that begins in the middle of a different allocation.
0x305 The first mapping address The number of mappings that the caller is trying to release The number of mappings that should be released (Windows XP and later only) The caller is attempting to release the wrong number of mappings.
0x306 The first mapping address The free mapping address The number of mappings to release (Windows XP and later only) One of the mappings that the caller is attempting to release is already free.
0x400 The base address of the I/O space mapping The number of pages to be freed 0 (Windows XP and later only) The caller is trying to free an I/O space mapping that the system is unaware of.

Cause

The error is indicated by the value of Parameter 1.

A stack trace will identify the driver that caused the error.

Build machine: CAPEBUILD