Click to Rate and Give Feedback
MSDN
MSDN Library
Windows Driver Kit
Bug Check Codes
 Bug Check 0xC2: BAD_POOL_CALLER

  Switch on low bandwidth view
Windows Driver Kit: Driver Development Tools
Bug Check 0xC2: BAD_POOL_CALLER

The BAD_POOL_CALLER bug check has a value of 0x000000C2. This indicates that the current thread is making a bad pool request.

Parameters

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

Parameter 1Parameter 2Parameter 3Parameter 4Cause of Error
0x000 Pool typePool tagThe current thread requested a zero-byte pool allocation.
0x01,
0x02,
or
0x04
Pointer to pool headerFirst part of pool header contents0 The pool header has been corrupted.
0x06Reserved Pointer to pool headerPool header contentsThe current thread attempted to free the pool, which was already freed.
0x07Reserved Pool header contents Address of the block of pool being freed The current thread attempted to free the pool, which was already freed.
0x08Current IRQLPool typeSize of allocation, in bytesThe current thread attempted to allocate the pool at an invalid IRQL.
0x09Current IRQLPool typeAddress of poolThe current thread attempted to free the pool at an invalid IRQL.
0x0AAddress of poolAllocator's tagTag being used in the attempted freeThe current thread attempted to free pool memory by using the wrong tag.

(The memory might belong to another component.)

0x0B,
0x0C,
or
0x0D
Address of poolPool allocation's tagBad quota process pointerThe current thread attempted to release a quota on a corrupted pool allocation.
0x40Starting addressStart of system address space0 The current thread attempted to free the kernel pool at a user-mode address.
0x41Starting addressPhysical page frameHighest physical page frameThe current thread attempted to free a non-allocated nonpaged pool address.
0x42
or
0x43
Address being freed0 0 The current thread attempted to free a virtual address that was never in any pool.
0x44Starting addressReserved 0The current thread attempted to free a non-allocated nonpaged pool address.
0x46Starting address00The current thread attempted to free an invalid pool address.
0x47Starting addressPhysical page frame Highest physical page frame The current thread attempted to free a non-allocated nonpaged pool address.
0x48Starting address Reserved Reserved The current thread attempted to free a non-allocated paged pool address.
0x50Starting addressStart offset, in pages, from beginning of paged poolSize of paged pool, in bytesThe current thread attempted to free a non-allocated paged pool address.
0x60Starting address 0 0 The current thread attempted to free an invalid contiguous memory address.

(The caller of MmFreeContiguousMemory is passing a bad pointer.)

0x99Address that is being freed0 0 The current thread attempted to free pool with an invalid address.

(This code can also indicate corruption in the pool header.)

0x9APool typeNumber of bytes requestedPool tagThe current thread marked an allocation request MUST_SUCCEED.

(This pool type is no longer supported.)

0x9BPool typeNumber of bytes requestedCaller's addressThe current thread attempted to allocate a pool with a tag of 0

(This would be untrackable, and possibly corrupt the existing tag tables.)

0x9CPool typeNumber of bytes requestedCaller's addressThe current thread attempted to allocate a pool with a tag of "BIG".

(This would be untrackable and could possibly corrupt the existing tag tables.)

0x9DIncorrect pool tag usedPool type Caller's addressThe current thread attempted to allocate a pool with a tag that does not contain any letters or digits. Using such tags makes tracking pool issues difficult.
0x41286Reserved Reserved Start offset from the beginning of the paged pool, in pages The current thread attempted to free a paged pool address in the middle of an allocation.

The _POOL_TYPE codes are enumerated in Ntddk.h. In particular, 0 indicates nonpaged pool and 1 indicates paged pool.

Cause

An invalid pool request has been made by the current thread.

Resolving the Problem

Activate Driver Verifier to obtain more information about these errors. For details, see Driver Verifier.


Send feedback on this topic
Built on May 20, 2009
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker