Bug Check 0x4E: PFN_LIST_CORRUPT
The PFN_LIST_CORRUPT bug check has a value of 0x0000004E. This indicates that the page frame number (PFN) list is corrupted.
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.
PFN_LIST_CORRUPT Parameters
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 ListHead value that was corrupted |
The number of pages available |
0 |
The list head was corrupted. |
0x02 |
The entry in the list that is being removed |
The highest physical page number |
The reference count of the entry being removed |
A list entry was corrupted. |
0x06 |
The page frame number |
The prototype PTE |
The PTE contents |
The hardware PTE and/or the prototype PTE data structures have been corrupted. This can be caused by hardware single bit errors, broken DMA transfers, etc. |
0x07 |
The page frame number |
The current share count |
0 |
A driver has unlocked a certain page more times than it locked it. |
0x8D |
The page frame number whose state is inconsistent |
0 |
0 |
The page-free list is corrupted. This error code most likely indicates a hardware issue. |
0x8F |
New page number |
Old page number |
0 |
The free or zeroed page listhead is corrupted. |
0x99 |
Page frame number |
Current page state |
0 |
A page table entry (PTE) or PFN is corrupted. |
0x9A |
Page frame number |
Current page state |
The reference count of the entry that is being removed |
A driver attempted to free a page that is still locked for IO. |
Cause
This error is typically caused by a driver passing a bad memory descriptor list. For example, the driver might have called MmUnlockPages twice with the same list.
If a kernel debugger is available, examine the stack trace: the !analyze debug extension displays information about the bug check and can be helpful in determining the root cause, then enter one of the k (Display Stack Backtrace) commands to view the call stack.