discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

double free or corruption error when two instances of an OOT block is ca


From: Grace Yeung
Subject: double free or corruption error when two instances of an OOT block is called in GRC
Date: Wed, 15 Feb 2023 13:01:07 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

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
grace@nwra.com
https://www.nwra.com

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]