Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Bsod 1 - 50

Download as pdf or txt
Download as pdf or txt
You are on page 1of 59

BSOD 1 - 50

This document is provided "as-is". Information and views expressed in this document, including URL and other Internet Web site references, may change without
notice. This document does not provide you with any legal rights to any intellectual property in any Microsoft product or product name. You may copy and use
this document for your internal, reference purposes. You may modify this document for your internal, reference purposes. 2013 Microsoft. All rights reserved.
Terms of Use (http://msdn.microsoft.com/cc300389.aspx) | Trademarks (http://www.microsoft.com/library/toolbar/3.0/trademarks/en-us.mspx)

Table Of Contents
0x1 - 0x34
Bug Check 0x1: APC_INDEX_MISMATCH
Bug Check 0x2: DEVICE_QUEUE_NOT_BUSY
Bug Check 0x3: INVALID_AFFINITY_SET
Bug Check 0x4: INVALID_DATA_ACCESS_TRAP
Bug Check 0x5: INVALID_PROCESS_ATTACH_ATTEMPT
Bug Check 0x6: INVALID_PROCESS_DETACH_ATTEMPT
Bug Check 0x7: INVALID_SOFTWARE_INTERRUPT
Bug Check 0x8: IRQL_NOT_DISPATCH_LEVEL
Bug Check 0x9: IRQL_NOT_GREATER_OR_EQUAL
Bug Check 0xA: IRQL_NOT_LESS_OR_EQUAL
Bug Check 0xB: NO_EXCEPTION_HANDLING_SUPPORT
Bug Check 0xC: MAXIMUM_WAIT_OBJECTS_EXCEEDED
Bug Check 0xD: MUTEX_LEVEL_NUMBER_VIOLATION
Bug Check 0xE: NO_USER_MODE_CONTEXT
Bug Check 0xF: SPIN_LOCK_ALREADY_OWNED
Bug Check 0x10: SPIN_LOCK_NOT_OWNED
Bug Check 0x11: THREAD_NOT_MUTEX_OWNER
Bug Check 0x12: TRAP_CAUSE_UNKNOWN
Bug Check 0x13: EMPTY_THREAD_REAPER_LIST
Bug Check 0x14: CREATE_DELETE_LOCK_NOT_LOCKED
Bug Check 0x15: LAST_CHANCE_CALLED_FROM_KMODE
Bug Check 0x16: CID_HANDLE_CREATION
Bug Check 0x17: CID_HANDLE_DELETION
Bug Check 0x18: REFERENCE_BY_POINTER
Bug Check 0x19: BAD_POOL_HEADER
Bug Check 0x1A: MEMORY_MANAGEMENT
Bug Check 0x1B: PFN_SHARE_COUNT
Bug Check 0x1D: NO_SPIN_LOCK_AVAILABLE
Bug Check 0x1E: KMODE_EXCEPTION_NOT_HANDLED
Bug Check 0x1F: SHARED_RESOURCE_CONV_ERROR
Bug Check 0x20: KERNEL_APC_PENDING_DURING_EXIT
Bug Check 0x21: QUOTA_UNDERFLOW
Bug Check 0x22: FILE_SYSTEM
Bug Check 0x23: FAT_FILE_SYSTEM
Bug Check 0x24: NTFS_FILE_SYSTEM
Bug Check 0x25: NPFS_FILE_SYSTEM
Bug Check 0x26: CDFS_FILE_SYSTEM
Bug Check 0x28: CORRUPT_ACCESS_TOKEN
Bug Check 0x29: SECURITY_SYSTEM
Bug Check 0x2A: INCONSISTENT_IRP
Bug Check 0x2B: PANIC_STACK_SWITCH
Bug Check 0x2C: PORT_DRIVER_INTERNAL
Bug Check 0x2D: SCSI_DISK_DRIVER_INTERNAL
Bug Check 0x2E: DATA_BUS_ERROR
Bug Check 0x2F: INSTRUCTION_BUS_ERROR
Bug Check 0x30: SET_OF_INVALID_CONTEXT
Bug Check 0x31: PHASE0_INITIALIZATION_FAILED
Bug Check 0x32: PHASE1_INITIALIZATION_FAILED
Bug Check 0x33: UNEXPECTED_INITIALIZATION_CALL
Bug Check 0x34: CACHE_MANAGER

0x1 - 0x34

Bug Check 0x1: APC_INDEX_MISMATCH


The APC_INDEX_MISMATCH bug check has a value of 0x00000001. This indicates that there has been a mismatch in the APC state index.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

APC_INDEX_MISMATCH Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The address of the system function (system call) or worker routine.

The value of the current thread's ApcStateIndex field.

The value of current thread's CombinedApcDisable field. This field consists of two separate 16-bit fields: (Thread->SpecialApcDisable << 16) | Thread>KernelApcDisable.

Call type (0 - system call, 1 - worker routine).

Cause
The most common cause of this bug check is when a file system or driver has a mismatched sequence of calls to disable and re-enable APCs. The key data item is the
Thread->CombinedApcDisable field. The CombinedApcDisable field consists of two separate 16-bit fields: SpecialApcDisable and KernelApcDisable. A negative value
of either field indicates that a driver has disabled special or normal APCs (respectively) without re-enabling them. A positive value indicates that a driver has enabled
special or normal APCs too many times.

Remarks
This is a kernel internal error. This error occurs on exit from a system call. A possible cause for this bug check is when a file system or driver has a mismatched sequence
of system calls to enter or leave guarded or critical regions. For example, each call to KeEnterCriticalRegion must have a matching call to KeLeaveCriticalRegion. If you
are developing a driver, you can use Static Driver Verifier, a static analysis tool available in the Windows Driver Kit, to detect problems in your code before you ship your
driver. Run Static Driver Verifier with the CriticalRegions rule to verify that your source code uses these system calls in correct sequence.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2: DEVICE_QUEUE_NOT_BUSY


The DEVICE_QUEUE_NOT_BUSY bug check has a value of 0x00000002.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x3: INVALID_AFFINITY_SET


The INVALID_AFFINITY_SET bug check has a value of 0x00000003.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x4: INVALID_DATA_ACCESS_TRAP


The INVALID_DATA_ACCESS_TRAP bug check has a value of 0x00000004.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x5: INVALID_PROCESS_ATTACH_ATTEMPT


The INVALID_PROCESS_ATTACH_ATTEMPT bug check has a value of 0x00000005. This generally indicates that the thread was attached to a process in a situation where that
is not allowed. For example, this bug check could occur if KeAttachProcess was called when the thread was already attached to a process (which is illegal), or if the thread
returned from certain function calls in an attached state (which is invalid),
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

INVALID_PROCESS_ATTACH_ATTEMPT Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The pointer to the dispatcher object for the target process, or if the thread is already attached, the pointer to the object for the original process.

The pointer to the dispatcher object of the process that the current thread is currently attached to.

The value of the thread's APC state index.

A non-zero value indicates that a DPC is running on the current processor.

Remarks
This bug check can occur if the driver calls the KeAttachProcess function and the thread is already attached to another process. It is better to use the
KeStackAttachProcess function. If the current thread was already attached to another process, the KeStackAttachProcess function saves the current APC state before it
attaches the current thread to the new process.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x6: INVALID_PROCESS_DETACH_ATTEMPT


The INVALID_PROCESS_DETACH_ATTEMPT bug check has a value of 0x00000006.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x7: INVALID_SOFTWARE_INTERRUPT


The INVALID_SOFTWARE_INTERRUPT bug check has a value of 0x00000007.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x8: IRQL_NOT_DISPATCH_LEVEL


The IRQL_NOT_DISPATCH_LEVEL bug check has a value of 0x00000008.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x9: IRQL_NOT_GREATER_OR_EQUAL


The IRQL_NOT_GREATER_OR_EQUAL bug check has a value of 0x00000009.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xA: IRQL_NOT_LESS_OR_EQUAL


The IRQL_NOT_LESS_OR_EQUAL bug check has a value of 0x0000000A. This indicates that Microsoft Windows or a kernel-mode driver accessed paged memory at
DISPATCH_LEVEL or above.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

IRQL_NOT_LESS_OR_EQUAL Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Memory referenced

IRQL at time of reference

0: Read
1: Write

Address which referenced memory

Cause
This bug check is issued if paged memory (or invalid memory) is accessed when the IRQL is too high.
The error that generates this bug check usually occurs after the installation of a faulty device driver, system service, or BIOS.
If you encounter bug check 0xA while upgrading to a later version of Windows, this error might be caused by a device driver, a system service, a virus scanner, or a backup
tool that is incompatible with the new version.

Resolution
If a kernel debugger is available, obtain a stack trace.
To resolve an error caused by a faulty device driver, system service, or BIOS

1. Restart your computer.


2. Press F8 at the character-based menu that displays the operating system choices.
3. Select the Last Known Good Configuration option from the Windows Advanced Options menu. This option is most effective when only one driver or service is
added at a time.

To resolve an error caused by an incompatible device driver, system service, virus scanner, or backup tool

1. Check the System Log in Event Viewer for error messages that might identify the device or driver that caused the error.
2. Try disabling memory caching of the BIOS.
3. Run the hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner's manual for
your computer.
4. Make sure the latest Service Pack is installed.
5. If your system has small computer system interface (SCSI) adapters, contact the adapter manufacturer to obtain updated Windows drivers. Try disabling sync
negotiation in the SCSI BIOS, checking the cabling and the SCSI IDs of each device, and confirming proper termination.
6. For integrated device electronics (IDE) devices, define the onboard IDE port as Primary only. Also, check each IDE device for the proper master/subordinate/standalone setting. Try removing all IDE devices except for hard disks.

If the message appears during an installation of Windows, make sure that the computer and all installed peripherals are compatible with the version of Windows being
installed. For example, you can get information about compatibility with Windows 7 at the Windows 7 Compatibility Center.
Here is a debugging example:

kd> .bugcheck
[Lists bug check data.]
Bugcheck code 0000000a
Arguments 00000000 0000001c 00000000 00000000
kd> kb [Lists the
ChildEBP RetAddr
8013ed5c 801263ba
8013eecc 801389ee
8013eecc 00000000
8013ed5c 801263ba
8013ef64 00000246

stack trace.]
Args to Child
00000000 00000000
0000000a 00000000
0000000a 00000000
00000000 00000000
fe551aa1 ff690268

e12ab000
0000001c
0000001c
e12ab000
00000002

NT!_DbgBreakPoint
NT!_KeBugCheckEx+0x194
NT!_KiTrap0E+0x256

kd> kv [Lists the


ChildEBP RetAddr
8013ed5c 801263ba
8013eecc 801389ee
8013eecc 00000000
8013ed5c 801263ba
8013ef64 00000246

trap frames.]
Args to Child
00000000 00000000
0000000a 00000000
0000000a 00000000
00000000 00000000
fe551aa1 ff690268

e12ab000
0000001c
0000001c
e12ab000
00000002

NT!_DbgBreakPoint (FPO: [0,0,0])


NT!_KeBugCheckEx+0x194
NT!_KiTrap0E+0x256 (FPO: [0,0] TrapFrame @ 8013eee8)

NT!_KeBugCheckEx+0x194

NT!_KeBugCheckEx+0x194

kd> .trap 8013eee8 [Gets the registers for the trap frame at the time of the fault.]
eax=dec80201 ebx=ffdff420 ecx=8013c71c edx=000003f8 esi=00000000 edi=87038e10
eip=00000000 esp=8013ef5c ebp=8013ef64 iopl=0
nv up ei pl nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000
efl=00010202
ErrCode = 00000000
00000000 ???????????????
[The current instruction pointer is NULL.]
kd> kb
[Gives the stack trace before the fault.]
ChildEBP RetAddr Args to Child
8013ef68 fe551aa1 ff690268 00000002 fe5620d2 NT!_DbgBreakPoint
8013ef74 fe5620d2 fe5620da ff690268 80404690
NDIS!_EthFilterIndicateReceiveComplete+0x31
8013ef64 00000246 fe551aa1 ff690268 00000002 elnkii!_ElnkiiRcvInterruptDpc+0x1d0

Remarks
Before upgrading to a new version of Windows, remove all third-party device drivers and system services, and disable any virus scanners. Contact the software
manufacturers to obtain updates of these third-party tools.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xB: NO_EXCEPTION_HANDLING_SUPPORT


The NO_EXCEPTION_HANDLING_SUPPORT bug check has a value of 0x0000000B.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xC: MAXIMUM_WAIT_OBJECTS_EXCEEDED


The MAXIMUM_WAIT_OBJECTS_EXCEEDED bug check has a value of 0x0000000C. This indicates that the current thread exceeded the permitted number of wait objects.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

MAXIMUM_WAIT_OBJECTS_EXCEEDED Parameters
None

Cause
This bug check results from the improper use of KeWaitForMultipleObjects or FsRtlCancellableWaitForMultipleObjects.
The caller may pass a pointer to a buffer in this routine's WaitBlockArray parameter. The system will use this buffer to keep track of wait objects.
If a buffer is supplied, the Count parameter may not exceed MAXIMUM_WAIT_OBJECTS. If no buffer is supplied, the Count parameter may not exceed
THREAD_WAIT_OBJECTS.
If the value of Count exceeds the allowable value, this bug check is issued.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xD: MUTEX_LEVEL_NUMBER_VIOLATION


The MUTEX_LEVEL_NUMBER_VIOLATION bug check has a value of 0x0000000D.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xE: NO_USER_MODE_CONTEXT


The NO_USER_MODE_CONTEXT bug check has a value of 0x0000000E.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0xF: SPIN_LOCK_ALREADY_OWNED


The SPIN_LOCK_ALREADY_OWNED bug check has a value of 0x0000000F. This indicates that a request for a spin lock has been initiated when the spin lock was already
owned.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

SPIN_LOCK_ALREADY_OWNED Parameters
None

Cause
Typically, this error is caused by a recursive request for a spin lock. It can also occur if something similar to a recursive request for a spin lock has been initiated--for
example, when a spin lock has been acquired by a thread, and then that same thread calls a function, which also tries to acquire a spin lock. The second attempt to acquire
a spin lock is not blocked in this case because doing so would result in an unrecoverable deadlock. If the calls are made on more than one processor, then one processor
will be blocked until the other processor releases the lock.
This error can also occur, without explicit recursion, when all threads and all spin locks are assigned an IRQL. Spin lock IRQLs are always greater than or equal to DPC level,
but this is not true for threads. However, a thread that is holding a spin lock must maintain an IRQL greater than or equal to that of the spin lock. Decreasing the thread
IRQL below the IRQL level of the spin lock that it is holding allows another thread to be scheduled on the processor. This new thread could then attempt to acquire the
same spin lock.

Resolution
Ensure that you are not recursively acquiring the lock. And, for threads that hold a spin lock, ensure that you are not decreasing the thread IRQL to a level below the IRQL
of the spin lock that it is holding.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x10: SPIN_LOCK_NOT_OWNED


The SPIN_LOCK_NOT_OWNED bug check has a value of 0x00000010.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x11: THREAD_NOT_MUTEX_OWNER


The THREAD_NOT_MUTEX_OWNER bug check has a value of 0x00000011.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x12: TRAP_CAUSE_UNKNOWN


The TRAP_CAUSE_UNKNOWN bug check has a value of 0x00000012. This indicates that an unknown exception has occurred.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

TRAP_CAUSE_UNKNOWN Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The unexpected interrupt

The unknown floating-point exception

The enabled and asserted status bits. See the processor definition for details.

Reserved

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x13: EMPTY_THREAD_REAPER_LIST


The EMPTY_THREAD_REAPER_LIST bug check has a value of 0x00000013.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x14: CREATE_DELETE_LOCK_NOT_LOCKED


The CREATE_DELETE_LOCK_NOT_LOCKED bug check has a value of 0x00000014.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x15: LAST_CHANCE_CALLED_FROM_KMODE


The LAST_CHANCE_CALLED_FROM_KMODE bug check has a value of 0x00000015.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x16: CID_HANDLE_CREATION


The CID_HANDLE_CREATION bug check has a value of 0x00000016.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x17: CID_HANDLE_DELETION


The CID_HANDLE_DELETION bug check has a value of 0x00000017.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x18: REFERENCE_BY_POINTER


The REFERENCE_BY_POINTER bug check has a value of 0x00000018. This indicates that the reference count of an object is illegal for the current state of the object.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

REFERENCE_BY_POINTER Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Object type of the object whose reference count is being lowered.

Object whose reference count is being lowered.

Reserved

Reserved

Cause
The reference count of an object is illegal for the current state of the object. Each time a driver uses a pointer to an object, the driver calls a kernel routine to increase the
reference count of the object by one. When the driver is done with the pointer, the driver calls another kernel routine to decrease the reference count by one.
Drivers must match calls to the routines that increase (reference) and decrease (dereference) the reference count. This bug check is caused by an inconsistency in the object's
reference count. Typically, the inconsistency is caused by a driver that decreases the reference count of an object too many times, making extra calls that dereference the
object. This bug check can occur because an object's reference count goes to zero while there are still open handles to the object. It might also occur when the object's
reference count drops below zero, whether or not there are open handles to the object.

Resolution
Make sure that the driver matches calls to the routines that increase and decrease the reference count of the object. Make sure that your driver does not make extra calls
to routines that dereference the object (see Parameter 2).
You can use a debugger to help analyze this problem. To find the handle and pointer count on the object, use the !object debugger command.
kd> !object address
Where address is the address of the object given in Parameter 2.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x19: BAD_POOL_HEADER


The BAD_POOL_HEADER bug check has a value of 0x00000019. This indicates that a pool header is corrupt.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

BAD_POOL_HEADER 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
0x2

Parameter 2

Parameter 3

Parameter 4

Cause of Error

The pool entry


being checked

The size of the


pool block

The special pool pattern check failed.


(The owner has likely corrupted the pool block.)

0x3

The pool entry


being checked

The read-back
flink freelist
value

The read-back blink


freelist value

The pool freelist is corrupt.


(In a healthy list, the values of Parameters 2, 3, and 4 should be identical.)

0x5

One of the
pool entries

Reserved

The other pool entry

A pair of adjacent pool entries have headers that contradict each other. At least one of
them is corrupt.

0x6

One
incorrectlycalculated
entry

Reserved

The bad entry that caused


the miscalculation

The pool block header's previous size is too large.

0x7

Reserved

The bad pool entry

The pool block header size is corrupt.

0x8

Reserved

The bad pool entry

The pool block header size is zero.

0x9

One
incorrectlycalculated
entry

Reserved

The bad entry that caused


the miscalculation

The pool block header size is corrupted (it is too large).

0xA

The pool entry


that should
have been
found

Reserved

The virtual address of the


page that should have
contained the pool entry

The pool block header size is corrupt.

0xD, 0xE,
0xF, 0x23,
0x24, 0x25

Reserved

Reserved

Reserved

The pool header of a freed block has been modified after it was freed. This is not
typically the fault of the prior owner of the freed block; instead it is usually (but not
always) due to the block preceding the freed block being overrun.

0x20

The pool entry


that should
have been
found

The next pool


entry

Reserved

The pool block header size is corrupt.

0X21

The pool
pointer being
freed

The number of
bytes allocated
for the pool
block

The corrupted value found


following the pool block

The data following the pool block being freed is corrupt. Typically this means the
consumer (call stack) has overrun the block.

0X22

The address
being freed

Reserved

Reserved

An address being freed does not have a tracking entry. This is usually because the call
stack is trying to free a pointer that either has already been freed or was never
allocated to begin with.

Cause
The pool is already corrupted at the time of the current request.
This may or may not be due to the caller.

Resolution
The internal pool links must be walked to figure out a possible cause of the problem.
Then you can use special pool for the suspect pool tags, or use Driver Verifier on the suspect driver. The !analyze extension may be of help in pinpointing the suspect
driver, but this is frequently not the case with pool corrupters.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x1A: MEMORY_MANAGEMENT


The MEMORY_MANAGEMENT bug check has a value of 0x0000001A. This indicates that a severe memory management error occurred.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

MEMORY_MANAGEMENT Parameters
The following parameters are displayed on the blue screen. Parameter 1 is the only parameter of interest; this identifies the exact violation.
Parameter
1

Cause of Error

0x1

The fork clone block reference count is corrupt. (This only occurs on checked builds of Windows.)

0x31

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

0x403

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.

0x411

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

0x777

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

0x778

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

0x780

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

0x781
0x1000

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.

0x1010

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

0x1233

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.

0x1234

The caller is trying lock a nonexistent pageable section.

0x1235

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

0x3451

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

0x5003

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

0x5100

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

0x8884

(Windows 7only). 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.

0x8888

Internal memory management structures are corrupted.

0x8889
0x888A

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

0x41283

The working set index encoded in the PTE is corrupted.

0x41284

A PTE or the working set list is corrupted.

0x41286

The caller is trying to free an invalid pool address.

0x41785

The working set list is corrupted.

0x41287

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

0x41790

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.
0x41792

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.

0x61940

A PDE has been unexpectedly invalidated.

0x61946

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.

0x03030303

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

Other

An unknown memory management error occurred.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x1B: PFN_SHARE_COUNT


The PFN_SHARE_COUNT bug check has a value of 0x0000001B.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x1D: NO_SPIN_LOCK_AVAILABLE


The NO_SPIN_LOCK_AVAILABLE bug check has a value of 0x0000001D.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x1E: KMODE_EXCEPTION_NOT_HANDLED


The KMODE_EXCEPTION_NOT_HANDLED bug check has a value of 0x0000001E. This indicates that a kernel-mode program generated an exception which the error handler
did not catch.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

KMODE_EXCEPTION_NOT_HANDLED Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The exception code that was not handled

The address at which the exception occurred

Parameter 0 of the exception

Parameter 1 of the exception

Cause
This is a very common bug check. To interpret it, you must identify which exception was generated.
Common exception codes include:

0x80000002: STATUS_DATATYPE_MISALIGNMENT
An unaligned data reference was encountered.
0x80000003: STATUS_BREAKPOINT
A breakpoint or ASSERT was encountered when no kernel debugger was attached to the system.
0xC0000005: STATUS_ACCESS_VIOLATION
A memory access violation occurred. (Parameter 4 of the bug check is the address that the driver attempted to access.)

For a complete list of exception codes, see the ntstatus.h file located in the inc directory of the Windows Driver Kit.

Resolution
If you are not equipped to debug this problem, you should use some basic troubleshooting techniques. If a driver is identified in the bug check message, disable the
driver or check with the manufacturer for driver updates. Try changing video adapters. Check with your hardware vendor for any BIOS updates. Disable BIOS memory
options such as caching or shadowing.
If you plan to debug this problem, you may find it difficult to obtain a stack trace. Parameter 2 (the exception address) should pinpoint the driver or function that caused
this problem.
If exception code 0x80000003 occurs, this indicates that a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch. This problem
should rarely occur. If it occurs repeatedly, make sure a kernel debugger is connected and the system is started with the /DEBUG switch.
If exception code 0x80000002 occurs, the trap frame will supply additional information.
If the specific cause of the exception is unknown, the following should be considered:
Hardware incompatibility. First, make sure that any new hardware installed is compatible with the installed version of Windows. For example, you can get information
about compatibility with Windows 7 at the Windows 7 Compatibility Center.
Faulty device driver or system service. In addition, a faulty device driver or system service might be responsible for this error. Hardware issues, such as BIOS
incompatibilities, memory conflicts, and IRQ conflicts can also generate this error.
If a driver is listed by name within the bug check message, disable or remove that driver. Disable or remove any drivers or services that were recently added. If the error
occurs during the startup sequence and the system partition is formatted with NTFS file system, you might be able to use Safe Mode to rename or delete the faulty driver.
If the driver is used as part of the system startup process in Safe Mode, you need to start the computer by using the Recovery Console to access the file.
If the problem is associated with Win32k.sys, the source of the error might be a third-party remote control program. If such software is installed, the service can be
removed by starting the system using the Recovery Console and deleting the offending system service file.
Check the System Log in Event Viewer for additional error messages that might help pinpoint the device or driver that is causing bug check 0x1E. Disabling memory
caching of the BIOS might also resolve the error. You should also run hardware diagnostics, especially the memory scanner, supplied by the system manufacturer. For
details on these procedures, see the owner's manual for your computer.

The error that generates this message can occur after the first restart during Windows Setup, or after Setup is finished. A possible cause of the error is a system BIOS
incompatibility. BIOS problems can be resolved by upgrading the system BIOS version.
To get a stack trace if the normal stack tracing procedures fail

1. Use the kb (Display Stack Backtrace) command to display parameters in the stack trace. Look for the call to NT!PspUnhandledExceptionInSystemThread. (If this
function is not listed, see the note below.)
2. The first parameter to NT!PspUnhandledExceptionInSystemThread is a pointer to a structure, which contains pointers to an except statement:

typedef struct _EXCEPTION_POINTERS {


PEXCEPTION_RECORD ExceptionRecord;
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
ULONG PspUnhandledExceptionInSystemThread(
IN PEXCEPTION_POINTERS ExceptionPointers
)

Use the dd (Display Memory) command on that address to display the necessary data.
3. The first retrieved value is an exception record and the second is a context record. Use the .exr (Display Exception Record) command and the .cxr (Display
Context Record) command with these two values as their arguments, respectively.
4. After the .cxr command executes, use the kb command to display a stack trace that is based on the context record information. This stack trace indicates the calling
stack where the unhandled exception occurred.

Note This procedure assumes that you can locate NT!PspUnhandledExceptionInSystemThread. However, in some cases (such as an access violation crash) you will not
be able to do this. In that case, look for ntoskrnl!KiDispatchException. The third parameter passed to this function is a trap frame address. Use the .trap (Display Trap
Frame) command with this address to set the Register Context to the proper value. You can then perform stack traces and issue other commands.
Here is an example of bug check 0x1E on an x86 processor:

kd> .bugcheck
get the bug check data
Bugcheck code 0000001e
Arguments c0000005 8013cd0a 00000000 0362cffff
kd> kb
FramePtr
8013ed5c
8013eecc
fe40cad0
fe40cad8
fe40cf7c
00000000

RetAddr
801263ba
8013313c
8013318e
801359ff
8013cb8e
00000000

Param1
00000000
0000001e
fe40caf8
fe40cb00
fe43a44c
00000000

start with a stack trace


Param2
Param3
Function Name
00000000 fe40cb00 NT!_DbgBreakPoint
c0000005 8013cd0a NT!_KeBugCheckEx+0x194
801359ff fe40cb00 NT!PspUnhandledExceptionInSystemThread+0x18
00000000 fe40cb00 NT!PspSystemThreadStartup+0x4a
ff6ce388 00000000 NT!_except_handler3+0x47
00000000 00000000 NT!KiThreadStartup+0xe

kd> dd fe40caf8 L2
dump EXCEPTION_POINTERS structure
0xFE40CAF8 fe40cd88 fe40cbc4
..@...@.
kd> .exr fe40cd88
Exception Record @ FE40CD88:
ExceptionCode: c0000005
ExceptionFlags: 00000000
Chained Record: 00000000
ExceptionAddress: 8013cd0a
NumberParameters: 00000002
Parameter[0]: 00000000
Parameter[1]: 0362cfff

first DWORD is the exception record

kd> .cxr fe40cbc4


second DWORD is the context record
CtxFlags: 00010017
eax=00087000 ebx=00000000 ecx=03ff0000 edx=ff63d000 esi=0362cfff edi=036b3fff
eip=8013cd0a esp=fe40ce50 ebp=fe40cef8 iopl=0
nv dn ei pl nz ac po cy
vip=0
vif=0
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000
efl=00010617
0x8013cd0a f3a4
rep movsb
kd> kb
ChildEBP
fe40ce54
fe40ce68
fe40ce9c
fe40ceb8
fe40cef8
fe40cf18
fe40cf30
fe40cf4c
fe40cf7c

RetAddr
80402e09
80403c18
fe43b1e4
fe4385b4
fe439894
fe437d92
fe43a4f5
80133184
8013cb8e

kb gives stack
Args to Child
ff6c4000 ff63d000 03ff0000
ffbc0c28 ff6ce008 ff6c4000
ff6cef90 ffbc0c28 ff6ce009
ff6ce388 6cd00800 ffbc0c28
ff6cd008 ffb6c820 fe40cf4c
ff6cd008 ffb6c820 ff6e4e50
ff6cd008 ffb6c820 00000000
ff6ce388 00000000 00000000
fe43a44c ff6ce388 00000000

for context record


NT!_RtlMoveMemory@12+0x3e
HAL!_HalpCopyBufferMap@20+0x49
HAL!_IoFlushAdapterBuffers@24+0x148
QIC117!_kdi_FlushDMABuffers@20+0x28
QIC117!_cqd_CmdReadWrite@8+0x26e
QIC117!_cqd_DispatchFRB@8+0x210
QIC117!_cqd_ProcessFRB@8+0x134
QIC117!_kdi_ThreadRun@4+0xa9
NT!_PspSystemThreadStartup@8+0x40

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x1F: SHARED_RESOURCE_CONV_ERROR


The SHARED_RESOURCE_CONV_ERROR bug check has a value of 0x0000001F.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x20: KERNEL_APC_PENDING_DURING_EXIT


The KERNEL_APC_PENDING_DURING_EXIT bug check has a value of 0x00000020. This indicates that an asynchronous procedure call (APC) was still pending when a thread
exited.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

KERNEL_APC_PENDING_DURING_EXIT Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The address of the APC found pending during exit

The thread's APC disable count

The current IRQL

Reserved

Cause
The key data item is the APC disable count (Parameter 2) for the thread. If the count is nonzero, it will indicate the source of the problem.
The APC disable count is decremented each time a driver calls KeEnterCriticalRegion, FsRtlEnterFileSystem, or acquires a mutex.
The APC disable count is incremented each time a driver calls KeLeaveCriticalRegion, KeReleaseMutex, or FsRtlExitFileSystem.
Because these calls should always be in pairs, the APC disable count should be zero when a thread exits. A negative value indicates that a driver has disabled APC calls
without re-enabling them. A positive value indicates that the reverse is true.
If you ever see this error, be very suspicious of all drivers installed on the machine -- especially unusual or non-standard drivers.
This current IRQL (Parameter 3) should be zero. If it is not, the driver's cancellation routine may have caused this bug check by returning at an elevated IRQL. In this case,
carefully note what was running (and what was closing) at the time of the crash, and note all of the installed drivers at the time of the crash. The cause in this case is usually
a severe bug in a driver.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x21: QUOTA_UNDERFLOW


The QUOTA_UNDERFLOW bug check has a value of 0x00000021. This indicates that quota charges have been mishandled by returning more quota to a particular block
than was previously charged.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

QUOTA_UNDERFLOW Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The process that was initially charged, if available.

The quota type. For the list of all possible quota type values, see the header file Ps.h in the Windows Driver Kit (WDK).

The initial charged amount of quota to return.

The remaining amount of quota that was not returned.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x22: FILE_SYSTEM


The FILE_SYSTEM bug check has a value of 0x00000022.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x23: FAT_FILE_SYSTEM


The FAT_FILE_SYSTEM bug check has a value of 0x00000023. This indicates that a problem occurred in the FAT file system.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

FAT_FILE_SYSTEM Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Specifies source file and line number information. The high 16 bits (the first four hexadecimal digits after the "0x") identify the source file by its identifier
number. The low 16 bits identify the source line in the file where the bug check occurred.

If FatExceptionFilter is on the stack, this parameter specifies the address of the exception record.

If FatExceptionFilter is on the stack, this parameter specifies the address of the context record.

Reserved

Cause
One possible cause of this bug check is disk corruption. Corruption in the file system or bad blocks (sectors) on the disk can induce this error. Corrupted SCSI and IDE
drivers can also adversely affect the system's ability to read and write to the disk, thus causing the error.
Another possible cause is depletion of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system. However, during the
indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can also trigger this error.

Resolution
To debug this problem: Use the .cxr (Display Context Record) command with Parameter 3, and then use kb (Display Stack Backtrace).
To resolve a disk corruption problem: Check Event Viewer for error messages from SCSI and FASTFAT (System Log) or Autochk (Application Log) that might help pinpoint
the device or driver that is causing the error. Try disabling any virus scanners, backup programs, or disk defragmenter tools that continually monitor the system. You
should also run hardware diagnostics supplied by the system manufacturer. For details on these procedures, see the owner's manual for your computer. Run Chkdsk /f /r
to detect and resolve any file system structural corruption. You must restart the system before the disk scan begins on a system partition.
To resolve a nonpaged pool memory depletion problem: Add new physical memory to the computer. This will increase the quantity of nonpaged pool memory available
to the kernel.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x24: NTFS_FILE_SYSTEM


The NTFS_FILE_SYSTEM bug check has a value of 0x00000024. This indicates a problem occurred in ntfs.sys, the driver file that allows the system to read and write to NTFS
drives.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

NTFS_FILE_SYSTEM Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Specifies source file and line number information. The high 16 bits (the first four hexadecimal digits after the "0x") identify the source file by its identifier
number. The low 16 bits identify the source line in the file where the bug check occurred.

If NtfsExceptionFilter is on the stack, this parameter specifies the address of the exception record.

If NtfsExceptionFilter is on the stack, this parameter specifies the address of the context record.

Reserved

Cause
One possible cause of this bug check is disk corruption. Corruption in the NTFS file system or bad blocks (sectors) on the hard disk can induce this error. Corrupted SCSI
and IDE drivers can also adversely affect the system's ability to read and write to disk, thus causing the error.
Another possible cause is depletion of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system. However, during the
indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can also trigger this error.

Resolution
To debug this problem: Use the .cxr (Display Context Record) command with Parameter 3, and then use kb (Display Stack Backtrace).
To resolve a disk corruption problem: Check Event Viewer for error messages from SCSI and FASTFAT (System Log) or Autochk (Application Log) that might help pinpoint
the device or driver that is causing the error. Try disabling any virus scanners, backup programs, or disk defragmenter tools that continually monitor the system. You
should also run hardware diagnostics supplied by the system manufacturer. For details on these procedures, see the owner's manual for your computer. Run Chkdsk /f /r
to detect and resolve any file system structural corruption. You must restart the system before the disk scan begins on a system partition.
To resolve a nonpaged pool memory depletion problem: Either add new physical memory to the computer (thus increasing the quantity of nonpaged pool memory
available to the kernel), or reduce the number of files on the Services for Macintosh (SFM) volume.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x25: NPFS_FILE_SYSTEM


The NPFS_FILE_SYSTEM bug check has a value of 0x00000025. This indicates that a problem occurred in the NPFS file system.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

NPFS_FILE_SYSTEM Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Specifies source file and line number information. The high 16 bits (the first four hexadecimal digits after the "0x") identify the source file by its identifier
number. The low 16 bits identify the source line in the file where the bug check occurred.

Reserved

Reserved

Reserved

Cause
One possible cause of this bug check is depletion of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system.
However, during the indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can
also trigger this error.

Resolution
To resolve a nonpaged pool memory depletion problem: Add new physical memory to the computer. This will increase the quantity of nonpaged pool memory available
to the kernel.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x26: CDFS_FILE_SYSTEM


The CDFS_FILE_SYSTEM bug check has a value of 0x00000026. This indicates that a problem occurred in the CD file system.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

CDFS_FILE_SYSTEM Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Specifies source file and line number information. The high 16 bits (the first four hexadecimal digits after the "0x") identify the source file by its identifier
number. The low 16 bits identify the source line in the file where the bug check occurred.

If CdExceptionFilter is on the stack, this parameter specifies the address of the exception record.

If CdExceptionFilter is on the stack, this parameter specifies the address of the context record.

Reserved

Cause
One possible cause of this bug check is disk corruption. Corruption in the file system or bad blocks (sectors) on the disk can induce this error. Corrupted SCSI and IDE
drivers can also adversely affect the system's ability to read and write to the disk, thus causing the error.
Another possible cause is depletion of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system. However, during the
indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can also trigger this error.

Resolution
To debug this problem: Use the .cxr (Display Context Record) command with Parameter 3, and then use kb (Display Stack Backtrace).
To resolve a disk corruption problem: Check Event Viewer for error messages from SCSI and FASTFAT (System Log) or Autochk (Application Log) that might help pinpoint
the device or driver that is causing the error. Try disabling any virus scanners, backup programs, or disk defragmenter tools that continually monitor the system. You
should also run hardware diagnostics supplied by the system manufacturer. For details on these procedures, see the owner's manual for your computer. Run Chkdsk /f /r
to detect and resolve any file system structural corruption. You must restart the system before the disk scan begins on a system partition.
To resolve a nonpaged pool memory depletion problem: Add new physical memory to the computer. This will increase the quantity of nonpaged pool memory available
to the kernel.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x28: CORRUPT_ACCESS_TOKEN


The CORRUPT_ACCESS_TOKEN bug check has a value of 0x00000028.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x29: SECURITY_SYSTEM


The SECURITY_SYSTEM bug check has a value of 0x00000029.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2A: INCONSISTENT_IRP


The INCONSISTENT_IRP bug check has a value of 0x0000002A. This indicates that an IRP was found to contain inconsistent information.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

INCONSISTENT_IRP Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The address of the IRP that was found to be inconsistent

Reserved

Reserved

Reserved

Cause
An IRP was discovered to be in an inconsistent state. Usually this means some field of the IRP was inconsistent with the remaining state of the IRP. An example would be an
IRP that was being completed, but was still marked as being queued to a driver's device queue.

Remarks
This bug check code is not currently being used in the system, but exists for debugging purposes.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2B: PANIC_STACK_SWITCH


The PANIC_STACK_SWITCH bug check has a value of 0x0000002B. This indicates that the kernel mode stack was overrun.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

PANIC_STACK_SWITCH Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The trap frame

Reserved

Reserved

Reserved

Cause
This error normally appears when a kernel-mode driver uses too much stack space. It can also appear when serious data corruption occurs in the kernel.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2C: PORT_DRIVER_INTERNAL


The PORT_DRIVER_INTERNAL bug check has a value of 0x0000002C.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2D: SCSI_DISK_DRIVER_INTERNAL


The SCSI_DISK_DRIVER_INTERNAL bug check has a value of 0x0000002D.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2E: DATA_BUS_ERROR


The DATA_BUS_ERROR bug check has a value of 0x0000002E. This typically indicates that a parity error in system memory has been detected.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

DATA_BUS_ERROR Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Virtual address that caused the fault

Physical address that caused the fault

Processor status register (PSR)

Faulting instruction register (FIR)

Cause
This error is almost always caused by a hardware problem -- a configuration issue, defective hardware, or incompatible hardware.
The most common hardware problems that can cause this error are defective RAM, Level 2 (L2) RAM cache errors, or video RAM errors. Hard disk corruption can also
cause this error.
This bug check can also be caused when a device driver attempts to access an address in the 0x8xxxxxxx range that does not exist (in other words, that does not have a
physical address mapping).

Resolution
Resolving a hardware problem: If hardware has recently been added to the system, remove it to see if the error recurs.
If existing hardware has failed, remove or replace the faulty component. You should run hardware diagnostics supplied by the system manufacturer to determine which
hardware component has failed. For details on these procedures, see the owner's manual for your computer. Check that all adapter cards in the computer are properly
seated. Use an ink eraser or an electrical contact treatment, available at electronics supply stores, to ensure that adapter card contacts are clean.
If the problem occurs on a newly installed system, check the availability of updates for the BIOS, the SCSI controller or network cards. Updates of this kind are typically
available on the Web site or the bulletin board system (BBS) of the hardware manufacturer.
If the error occurs after installing a new or updated device driver, the driver should be removed or replaced. If, under this circumstance, the error occurs during startup
and the system partition is formatted with NTFS, you might be able to use Safe Mode to rename or delete the faulty driver.
If the driver is used as part of the system startup process in Safe Mode, you need to start the computer using the Recovery Console in order to access the file.
For additional error messages that might help pinpoint the device or driver that is causing the error, check the System Log in Event Viewer. Disabling memory caching or
shadowing in the BIOS might also resolve this error. In addition, check the system for viruses, using any up-to-date commercial virus scanning software that examines the
Master Boot Record of the hard disk. All Windows file systems can be infected by viruses.
Resolving a hard disk corruption problem: Run Chkdsk /f /r on the system partition. You must restart the system before the disk scan begins. If you cannot start the
system due to the error, use the Recovery Console and run Chkdsk /r.
Warning If your system partition is formatted with the file allocation table (FAT) file system, the long filenames used by Windows can be damaged if Scandisk or another
Microsoft MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from MS-DOS. Always use the version of Chkdsk that matches your Windows
version.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x2F: INSTRUCTION_BUS_ERROR


The INSTRUCTION_BUS_ERROR bug check has a value of 0x0000002F.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x30: SET_OF_INVALID_CONTEXT


The SET_OF_INVALID_CONTEXT bug check has a value of 0x00000030. This indicates that the stack pointer in a trap frame had an invalid value.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

SET_OF_INVALID_CONTEXT Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The new stack pointer

The old stack pointer

The trap frame address

Cause
This bug check occurs when some routine attempts to set the stack pointer in the trap frame to a lower value than the current stack pointer value.
If this error were not caught, it would cause the kernel to run with a stack pointer pointing to stack which is no longer valid.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x31: PHASE0_INITIALIZATION_FAILED


The PHASE0_INITIALIZATION_FAILED bug check has a value of 0x00000031. This indicates that system initialization failed.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

PHASE0_INITIALIZATION_FAILED Parameters
None

Cause
System initialization failed at a very early stage.

Resolution
A debugger is required to analyze this.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x32: PHASE1_INITIALIZATION_FAILED


The PHASE1_INITIALIZATION_FAILED bug check has a value of 0x00000032. This indicates that system initialization failed.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

PHASE1_INITIALIZATION_FAILED Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

The NT status code that describes why the system initialization failed

Reserved

Reserved

Reserved

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x33: UNEXPECTED_INITIALIZATION_CALL


The UNEXPECTED_INITIALIZATION_CALL bug check has a value of 0x00000033.
This bug check appears very infrequently.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

Bug Check 0x34: CACHE_MANAGER


The CACHE_MANAGER bug check has a value of 0x00000034. This indicates that a problem occurred in the file system's cache manager.
Important Info If You Have Received a STOP Code

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.
For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

CACHE_MANAGER Parameters
The following parameters are displayed on the blue screen.
Parameter

Description

Specifies source file and line number information. The high 16 bits (the first four hexadecimal digits after the "0x") identify the source file by its identifier
number. The low 16 bits identify the source line in the file where the bug check occurred.

Reserved

Reserved

Reserved

Cause
One possible cause of this bug check is depletion of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system.
However, during the indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can
also trigger this error.

Resolution
To resolve a nonpaged pool memory depletion problem: Add new physical memory to the computer. This will increase the quantity of nonpaged pool memory available
to the kernel.

Send comments about this topic to Microsoft


2014 Microsoft. All rights reserved.

You might also like