Windows XP BSOD

RyanB18

Senior member
Aug 23, 2001
378
0
76
I have a BSOD on windows XP that says Bad Pool Call. What is possibly causing this? My mboard is a ak32l.
-Ryan
 

NogginBoink

Diamond Member
Feb 17, 2002
5,322
0
0
BAD_POOL_CALLER (0xC2)

The current thread is making a bad pool request. Typically this is at a bad IRQL level or double freeing the same allocation, etc.

PARAMETERS
1 - type of pool violation the caller is guilty of.
VALUES:

0x0 : The caller is requesting a zero byte pool allocation.
Parameter 2 - zero.
Parameter 3 - the pool type being allocated.
Parameter 4 - the pool tag being used.

0x1 : Pool header has been corrupted
Parameter 2 - Pointer to pool header
Parameter 3 - First part of pool header contents
Parameter 4 - 0

0x2 : Pool header has been corrupted
Parameter 2 - Pointer to pool header
Parameter 3 - First part of pool header contents
Parameter 4 - 0

0x4 : Pool header has been corrupted
Parameter 2 - Pointer to pool header
Parameter 3 - First part of pool header contents
Parameter 4 - 0

0x6 : Attempt to free pool which was already freed
Parameter 2 - (reserved)
Parameter 3 - Pointer to pool header
Parameter 4 - Pool header contents

0x7 : Attempt to free pool which was already freed
Parameter 2 - (reserved)
Parameter 3 - Pointer to pool header
Parameter 4 - 0

0x8 : Attempt to allocate pool at invalid IRQL
Parameter 2 - Current IRQL
Parameter 3 - Pool type
Parameter 4 - Size of allocation

0x9 : Attempt to free pool at invalid IRQL
Parameter 2 - Current IRQL
Parameter 3 - Pool type
Parameter 4 - Address of pool

0xA : Attempt to free some other component's protected pool.
Parameter 2 - Address of pool
Parameter 3 - Allocator's tag
Parameter 4 - Tag being used in the attempted free.

0xB/0xC/0xD : Attempt to release quota on a corrupted pool allocation.
Parameter 2 - Address of pool
Parameter 3 - Pool allocation's tag
Parameter 4 - Quota process pointer (bad).

0x40 : Attempt to free usermode address to kernel pool
Parameter 2 - Starting address
Parameter 3 - Start of system address space
Parameter 4 - 0

0x41 : Attempt to free a non-allocated nonpaged pool address
Parameter 2 - Starting address
Parameter 3 - physical page frame
Parameter 4 - highest physical page frame

0x42 : Attempt to free a virtual address which was never in any pool
Parameter 2 - Address being freed.
Parameter 3 - 0
Parameter 4 - 0

0x43 : Attempt to free a virtual address which was never in any pool
Parameter 2 - Address being freed.
Parameter 3 - 0
Parameter 4 - 0

0x50 : Attempt to free a non-allocated paged pool address
Parameter 2 - Starting address
Parameter 3 - Start offset in pages from beginning of paged pool
Parameter 4 - Size in bytes of paged pool

0x99 : Attempt to free pool with invalid address (or corruption in pool header)
Parameter 2 - Address being freed
Parameter 3 - 0
Parameter 4 - 0

0x9A : Attempt to allocate must-succeed pool (this pool type has been deprecated)
Parameter 2 - Pool type
Parameter 3 - Size of allocation in bytes
Parameter 4 - Allocation's pool tag

0x9B : Attempt to allocate pool with a tag of zero. This would make the pool untrackable and worse, corrupt the existing tag tables.
Parameter 2 - Pool type
Parameter 3 - Size of allocation in bytes
Parameter 4 - Caller's address.

0x9C : Attempt to allocate pool with a tag of BIG. This would make the pool untrackable and worse, corrupt the existing tag tables.
Parameter 2 - Pool type
Parameter 3 - Size of allocation in bytes
Parameter 4 - Caller's address.


In short: some driver is not managing its memory properly. Try turning on driver verifier (verifier.exe) and see if it'll identify the offending driver.