=20
Driver Development Tools: Windows DDK=20
Bug Check 0xC2: BAD_POOL_CALLER
The BAD_POOL_CALLER bug check has a value of 0x000000C2. This indicate
=
that the current thread is making a bad pool request.
Parameters
The following parameters are displayed on the blue screen. Parameter
=
indicates the type of violation.
Parameter 1 Parameter 2 Parameter 3 Parameter 4 Cause of Error=20
0x00 0 Pool type Pool tag The current thread requested a =
zero-byte pool allocation.=20
0x01,
0x02,
or
0x04 Pointer to pool header First part of pool header contents 0 =
The pool header has been corrupted.=20
0x06 Reserved Pointer to pool header Pool header contents The =
current thread attempted to free pool which was already freed.=20
0x07 Reserved Memory contents of the pool block Pointer to pool =
header The current thread attempted to free pool which was already =
freed.=20
0x08 Current IRQL Pool type Size of allocation, in bytes The =
current thread attempted to allocate pool at an invalid IRQL.=20
0x09 Current IRQL Pool type Address of pool The current thread =
attempted to free pool at an invalid IRQL.=20
0x0A Address of pool Allocator's tag Tag being used in the =
attempted free The current thread attempted to free pool memory usin
=
the wrong tag.=20
(The memory may belong to another component.)
=20
0x0B,
0x0C,
or
0x0D Address of pool Pool allocation's tag Bad quota process =
pointer The current thread attempted to release a quota on a corrupte
=
pool allocation.=20
0x40 Starting address Start of system address space 0 The current =
thread attempted to free kernel pool at user-mode address.=20
0x41 Starting address Physical page frame Highest physical page =
frame The current thread attempted to free a nonallocated nonpaged poo
=
address.=20
0x42
or
0x43 Address being freed 0 0 The current thread attempted to =
free a virtual address that was never in any pool.=20
0x50 Starting address Start offset in pages from beginning of =
paged pool Size of paged pool, in bytes The current thread attempted t
=
free a nonallocated paged pool address.=20
0x60 Starting address 0 0 The current thread attempted to free =
an invalid contiguous memory address.=20
(The caller of MmFreeContiguousMemory s passing a bad pointer.)=20
=20
0x99 Address being freed 0 0 The current thread attempted to =
free pool with an invalid address.=20
(This code can also indicate corruption in pool header.)
=20
0x9A Pool type Number of bytes requested Pool tag The current =
thread marked an allocation request MUST_SUCCEED.=20
(This pool type is no longer supported.)
=20
0x9B Pool type Number of bytes requested Caller's address The =
current thread attempted to allocate a pool with a tag of zero.=20
(This would be untrackable, and possibly corrupt the existing tag =
tables.)
=20
0x9C Pool type Number of bytes requested Caller's address The =
current thread attempted to allocate a pool with a tag of "BIG".=20
(This would be untrackable, and possibly corrupt the existing tag =
tables.)
=20
The _POOL_TYPE codes are enumerated in ntddk.h. In particular, zero =
indicates nonpaged pool and one indicates paged pool.
Cause
A bad 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.=20
Send feedback on this topic. / Built on Thursday, February 13, 2003=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
Type verifier in Start Run, follow the wizard but choose All Drivers
=
This will slow down your computer and cause more blue screen crashe
but =
will pinpoint what is causing the crash (if the original error messag
=
didn't). Once you fix it you rerun verifier and turn it off.
If you can't start after enabling verifier
choose Last Known Good Configuration at the Failed Boot menu (which
will
start without verifier).
You will be creating a crash dump file in c:\windows\minidump every
blue =
screen. Make sure you are set to record minidumps (Small Memory Dumps)
- =
type it in Help to see how.
Then
If you have the XP SP2 Security Update CD=20
Install symbols from CD Drive Letter:\SUPPORT\SYMBOLS
Download
http://tinyurl.com/2zost
Load the crash dump file into windbg
and read what it says
Type
!Analyze -v=20
into Windbg's command line.
(this will hopefully tell you the faulty component)
If the above is too technical then email the crash dump files to davidc
=
@ mvps.org. Don't send me lots of them. Just the one from your last =
crash after you turn verifier on. And only one per mail.
--=20
-------------------------------------------------------------------------=
-------------------------
http://webdiary.smh.com.au/archives/_comment/001075.html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
"Peg" (e-mail address removed) wrote in message =
Error is: Bad_Pool_Caller
=20
hex Numbers:
0x-000000c2
Stop: (0x00000060, 0x83A4B2EF, 0x00000000, 0x00000000
Then goes on to say: Beginning physical memory dump
physical memory dump complete
Contact your sys admin for further assisance.
=20
Thanks again for your Help-