STOP 0xC2 aka BAD_POOL_CALLER Blue Screen and bad memory
Tonight my home automation server (running Windows Server 2003) bluescreened with a STOP 0xC2, BAD_POOL_CALLER fault.
The specifics of the fault were 0xC2 (0x00000007, 0x00001153, ...).
Rebooting caused a chkdsk and then the system came up...and promptly blue screened again.
According to this doc page on microsoft.com, the 0x07 parameter indicates “Attempt to free a memory pool that was already freed.” Further Google searches indicated that this type of error is usually due to a faulty device driver. In fact, this KB Article shows how to debug the memory dump file to determine the faulty driver.
Booting the system into safemode resulted in a memory write fault in explorer.exe.
I haven't touched the software on this system for weeks, so I strongly suspected some sort of memory failure. So a quick Google search for “memory tester” came up with Memtest86. Within minutes I had burned a bootable CD with Memtest86 3.1a on it, booted the CD in the system, and saw mucho memory errors fly across the screen!
I powered down the system, removed all 3 DIMMs (512MB each), and plugged one in, restarted the system and Memtest started. Kabang! Error city.
So I took that DIMM out and tried the next one. No errors. Same with the 3rd.
I put the 2 DIMMs that tested OK in the system and rebooted into W2K3. The system is now running fine. This box doesn't really need 1.5GB of memory so if I get new memory for it, it will be to replace the existing good DIMMs (“Spectek“ brand) with a different high-quality brand just to be safe.
Hopefully this will help others with STOP 0xC3 errors: it could be a memory failure.
[Update 5/26/04]
I didn't notice it last night but Microsoft has a memory test utility (on a bootable CD-ROM image no less) at http://oca.microsoft.com/en/windiag.asp.