Windows error 0x000000C2, 194

Detailed Error Information

ITERATED_DATA_EXCEEDS_64k[1]

MessageThe operating system cannot run %1.
Declared inwinerror.h

This appears to be a raw Win32 error. More information may be available in error 0x800700C2.

BAD_POOL_CALLER[2]

This is a Blue Screen of Death stop code. More information is available in the Knowledge Base article Bug Check 0xC2: BAD_POOL_CALLER.

HRESULT analysis[3]

This is probably not the correct interpretation of this error. The Win32 error above is more likely to indicate the actual problem.
FlagsSeveritySuccess

This code indicates success, rather than an error. This may not be the correct interpretation of this code, or possibly the program is handling errors incorrectly.

Reserved (R)false
OriginMicrosoft
NTSTATUSfalse
Reserved (X)false
FacilityCode0 (0x000)
NameFACILITY_NULL[3][1]
DescriptionThe default facility code.[3][1]
Error Code194 (0x00c2)

Possible solutions

7

Using Printf to display on serial port of an ARM microcontroller

embedded
serial-port
printf
microcontroller

For microcontollers, you typically have to define your own putc function to send bytes to whichever UART you're using. print will then call your putc.

Check the documentation for the libraries supplied with your compiler.

Note that this is entirely unrelated to how you intialise your UART. All that matters is which UART you're using.

(On an unrelated issue, rather than saying:

PINSEL0 = 0x00050000; /* Enable RXD1 TxD1 */
U1LCR   = 0x00000083; /*8 bits, 1 Stop bit */

there are typically #defines for registers which (usually) aid readability, provide a link to the bit names in the documentation, and reduce the need for comments to be added and maintained on every line like these. For example:

PINSEL0 = PICSEL0_RXD1EN | PICSEL0_TXD1EN;
U1LCR   = U1LCR_8BITS | U1LCR_1STOPBIT;

..and so on.)

answered on Stack Overflow Nov 10, 2009 by Steve Melnikoff • edited Nov 10, 2009 by Steve Melnikoff
4

Using Printf to display on serial port of an ARM microcontroller

embedded
serial-port
printf
microcontroller

To make printf(), puts() etc work on an embedded platform, you need to implement some hooks that work with the C library. This is typically dependent on the C libraries provided with your compiler, so is probably compiler-dependent. But in many cases the library just requires you to provide a putc() function (or similar name), which takes a character (generated by the printf() library function) and sends it to your chosen output device. That could be a memory buffer, serial port, USB message, whatever.

From the point of view of the C library, the putc() function would be run-to-completion, so it's up to you whether you implement it to be a simple blocking function (waiting until the serial port is free and sending the character), or non-blocking (putting it into a buffer, to be sent by a background interrupt task; but the buffer might fill up if you output enough bytes fast enough, and then you have to either block or discard characters). You can also make it work properly with your RTOS if you have one, implementing a blocking write that sleeps on a semaphore until the serial port is available.

So, in summary, read the documentation for your compiler and its C library, and it should tell you what you need to do to make printf() work.

Example links for AVR micro with GCC compiler:

ARM GCC compiler using newlib C library:

answered on Stack Overflow Nov 11, 2009 by Craig McQueen • edited Nov 12, 2009 by Craig McQueen
1

How can I resolve the BSOD BAD_POOL_CALLER 0x000000C2?

windows
bsod

Call to HvpRecoverData suggests corrupted registry. Fault during recovery process points to damaged hive log file (according to Windows Research Kernel sources). When I had this problem, deleting all C:\Documents and Settings\<USERNAME>\NTUSER.DAT.LOG files helped. No user data or settings were lost in process in my case.

answered on Super User Aug 6, 2013 by MagnatLU
1

bad_pool_caller stop: 0x000000c2

windows-xp
bsod

Here is some repeated advice from several forums:

  • The hardware and RAM should be checked initially.
  • Boot the system once again using the Operating System setup CD, or use a boot setup that has a GUI like BartPE.
  • With RunScanner it is possible to use a memory test tool.
  • Select a single account
  • If all the accounts open then the system registry hive might be the problem.
  • Locate the hive damaged and rename it, do not delete it.
  • Create another hive from the backup or from the restore point.
  • Initially uses the latest one and keep checking the restore points that come later.
  • Avoiding harvesting any replacement hives from the hard drive booted Windows.
  • After which compare the hives for differences.

I'd try booting from the install disk and running a repair.

answered on Super User Aug 11, 2009 by Sam
1

Blue Screen error BAD_POOL_CALLER 0x000000C2

windows-xp
bsod

When I was getting bsod's like these it turned out to be a faulty memory module. Have you tried running Memtest86?

answered on Super User Jan 11, 2010 by CGA • edited Jan 11, 2010 by CGA
1

Multiple BSOD Windows 7

windows-7
google-chrome
memory
bsod

ok, the RAM timings are ok. So it is no RAM issue. From the dumps, I can see that you use Windows 7 RTM at a patch level from June 2012. In April 2013 MS stopped releasing Updates for Win7 RTM. So install the Windows 7 Sp1 to get newer updates which also fix bugs.

answered on Super User Aug 14, 2013 by magicandre1981
0

Blue Screen error BAD_POOL_CALLER 0x000000C2

windows-xp
bsod

This looks like a bad memory to me. Before changing the modules it would be worth a try to clean the contacts on them with isopropyl alcohol and give them a gentle rub to get rid of any oxidation. Also if running in a dual-channel mode make sure you are using exactly the same modules in each paired slot.

answered on Super User Jan 11, 2010 by (unknown user)
0

Blue Screen error BAD_POOL_CALLER 0x000000C2

windows-xp
bsod

You're experiencing the problem due to several reasons- such as corrupt OS files, recent hardware changes, incorrect system settings, corrupt cache contents and other reasons. Repair your system files through System File Checker tool, disconnect recently connected hardware, revert-back newly applied system settings and delete temporary files and cache contents.

Download Hotfix and check if the problem still persists. Alternatively, perform manual steps given below until your problem is completely fixed. The actual steps are given below:

Step 1: Repair System Files

  1. Insert Windows OS installation disc.
  2. Click the Start button, point to All Programs | Accessories.
  3. Right click Command Prompt, choose Run as administrator.
  4. Type the following command- SFC /SCANNOW
  5. Press ENTER.
  6. Reboot your PC when you're done.

Step 2: Disconnect Recently Installed Hardware

Disconnect any recently installed hardware devices. Check for "Compatible for Windows" logo on the hardware package.

Step 3: Delete Cache Contents

  1. Click Start, point to All Programs | Accessories.
  2. Select Disk CleanUp.
  3. Select a disk drive, click OK.

Step 4: Restore Recent Settings

  1. Click Start, point to All Programs | Accessories.
  2. Select System Restore.
  3. Click Next, follow the on-screen wizard.
answered on Super User Nov 10, 2013 by JohnSmith420
0

Blue screen of death while installing Windows XP SP2

windows-xp
bsod
windows-installation

Very good chance that this is bad memory, and not a software problem at all. Try running a memory test tool, like MemTest86.

answered on Super User Apr 27, 2013 by ckhan
0

Huge amount of mystic crashes of WP8 app

windows-phone-8

Are you sure you're handling the Disconnect callback accordingly ? As in do you clear and reload all your resources after a Surface::Diconnect ? If you do not handle Disconnect at all, your app will crash on resume. If you do handle it and you're not doing it the proper way your app will start using more and more memory and will crash if it goes past 170MB or so.

answered on Stack Overflow Jan 28, 2015 by RelativeGames
0

Interference When Installing Windows XP

windows-xp
installation
bsod

windows xp copies files to your hard drive before attempting install. if your hard drive is bad it would fail to copy consistently, and in the process break the install

answered on Super User Jun 26, 2012 by steve
0

Interference When Installing Windows XP

windows-xp
installation
bsod

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

You can refer to the MSDN WIndows - Bug Check 0xC2: BAD_POOL_CALLER to identify the codes that you've received.

I would say that you either have:

  • some external device connected that's causing the error
  • bad ram modules

e.g., Removing a USB device without using the Safely remove USB devices can be sufficient to get that error.


Some Guidance:

  1. Disconnect all external devices (printers, USB devices, etc...) and then boot up.

    If this corrects the issue, connect the devices one at a time until you discover the piece of hardware causing the issue. An updated driver\software for the device should fix it.

  2. Use the Last known good configuration from the Windows Advanced Options menu.

    If this option resolves the issue then look for any recent updates, or recently installed software that may have caused this problem.

  3. Boot to Safe Mode from the Windows Advanced Options menu.

    If you can enter windows using safe mode, the issue is most likely related with a driver or software.

    From within Safe Mode run a System Restore. (article with instruction here)

  4. Perform a Clean Boot.

    Step by Step article to troubleshoot with a Clean Boot. Also, an Advanced troubleshooting Guide!


As I've recommend on this answer, you should use an Ubuntu live CD to boot and run some tests on your computer.

answered on Super User Jun 27, 2012 by Zuul • edited Mar 20, 2017 by Community
0

Constant bluescreens upon Windows 7 login

windows-7
multi-boot
bsod

I would say it's a driver issue. I've used a free utility from Nirsoft - BlueScreenView. It scans all minidump files and presents them in a single table that makes identifying the culprit a lot easier.

answered on Super User Mar 15, 2017 by redschuhart
0

Segmentation Fault ret2libc attack

segmentation-fault
exploit

[closed]

Problem fixed:

ASLR was not disabled -> Disabling ASLR: echo 0 > /proc/sys/kernel/randomize_va_space

answered on Stack Overflow Jun 28, 2018 by elguerrero
0

Using Printf to display on serial port of an ARM microcontroller

embedded
serial-port
printf
microcontroller

I'm not sure about ARM in particular...

For some chips, within the IDE, you need to specify that you need a heap to use the printf, and how big it should be. The programmer won't automatically put one on.

Check in the menus of your programmer/IDE and see if there is a place to specify the heap size.

And I agree with Steve, this is only if you can actually use the printf, otherwise write your own little snippet.

answered on Stack Overflow Nov 13, 2009 by ArielP
0

WinDbg with dump files when you have a classic ASP app which uses a lot of .Net via interop

.net
memory-leaks
asp-classic
windbg

You need to find the roots that holds these strings in memory. I have a few examples in my article: http://alexatnet.com/articles/net-memory-management-and-garbage-collector but generally what you might need to do is to use !gcroot command - it should traverse object graph to one of the roots that holds this object.

answered on Stack Overflow Jun 19, 2014 by Alex Netkachov
0

WinDbg with dump files when you have a classic ASP app which uses a lot of .Net via interop

.net
memory-leaks
asp-classic
windbg

There are two different heap types: native heaps (heaps of the heap manager) and managed heaps (heaps created by the .NET runtime). What you see as the output of !dumpheap is only the managed part. Since your COM objects are also using native memory, this is not included in the output.

To see the native part of the memory, try !address -summary. .NET memory will show up as <unknown> and native memory will be listed as Heap in the usage summary.

Still, !dumpheap can be helpful, e.g. to see the number of RCW objects created by your application. RCWs are not very large, therefore they might not be listed near the end of the output. Try !dumpheap -stat -type Interop to find them (if you`re using the default interop assembly).

If you know how large your COM objects are on native side, you can just multiply the number of object by the memory usage. In my typical environment, I'm using different COM objects with 5 MB to 100 MB in size, so even a few ones can cause OutOfMemoryException.

Knowing the exact size of a COM object is good for the use of GC.AddMemoryPressure which you can then use.

answered on Stack Overflow Jun 19, 2014 by Thomas Weller
0

Blue screen of death while installing Windows XP SP2

windows-xp
bsod
windows-installation

Sounds to me like a hard drive problem .. may be possible to recover by booting using a 'Live' CD with 'Parted Magic' & doing a complete format ..

http://en.wikipedia.org/wiki/Parted_Magic

answered on Super User Sep 24, 2013 by steve b

Comments

Leave a comment

(plain text only)

Sources

  1. winerror.h from Windows SDK 10.0.14393.0
  2. https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2
  3. https://msdn.microsoft.com/en-us/library/cc231198.aspx

User contributions licensed under CC BY-SA 3.0