# Revision history [back]

Some explanation I have found

It is a very nice feature of the Windows heap allocator, available since Vista. It tells you that your code has a pointer bug. The actual cause ranges somewhere between mild, like trying to free memory that was already freed or allocated from another heap. Not uncommon when you interop with another program. To drastically nasty like having blown the heap to pieces earlier by overflowing a heap allocated buffer.

So lets us check if you are somewhere accessing illegal pointers or unexisting data structure.

Some explanation I have found

It is a very nice feature of the Windows heap allocator, available since Vista. It tells you that your code has a pointer bug. The actual cause ranges somewhere between mild, like trying to free memory that was already freed or allocated from another heap. Not uncommon when you interop with another program. To drastically nasty like having blown the heap to pieces earlier by overflowing a heap allocated buffer.

So lets us check if you are somewhere accessing illegal pointers or unexisting data structure.

Auch - might have found something in this piece of code

//crop the roi from grya image
Mat face = graySacleFrame(face_i);


This is actually only grabbing a pointer to a part of an existing image in memory. So you will start working on a small part of your original image. I would suggest changing that for a starter to

//crop the roi from grya image
Mat face = graySacleFrame(face_i).clone();


to ensure already that you have a local copy for your further processing!

Seems the only thing with pointers which is not correct that I could find!