Hi, I have a gnuradio out-of-tree block written in C++ that runs fine in grc 3.8.1.0. But when I have two of them running simultaneously in the flowgraph, grc crashes and gives me the error:

double free or corruption (!prev)

I am not using any free() functions. I use std::vector's in my code which should handle dynamic memory allocation automatically. What could be causing this error?

The only other place I see in the code that deals with pointers is the calling of "new" in the definition of the make function which returns an sptr:
      probeExtract::sptr
      probeExtract::make(const char* filtName, const char* maskName, int mlsrM, int numChan, int sampPerBit, int Tblock, int edgeBufferSize, int structureType)
      {
          return gnuradio::get_initial_sptr
          (new probeExtract_impl(filtName, maskName, mlsrM, numChan, sampPerBit, Tblock, edgeBufferSize, structureType));
      }
I suppose I do not need to worry about free'ing the pointer which is handled internally by python?

After putting in some debugging statements, I see variations of similar error such as:
corrupted size vs. prev_size while consolidating

Any advice would be greatly appreciated. Thank you.

Grace

--
Grace K. Yeung, MS
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
gr...@nwra.com
https://www.nwra.com

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to