[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error "gr::vmcircbuf_sysv_shm: shmget (1): No space left on device"
From: |
Marcus Müller |
Subject: |
Re: Error "gr::vmcircbuf_sysv_shm: shmget (1): No space left on device" |
Date: |
Wed, 31 Mar 2021 15:19:50 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
While this definitely reads like a BOFH excuse ("ran out of buffers to
give"), it just means that for some reason, you can't allocate a shared
buffer to build the ringbuffers needed by GNU Radio[1]
This is no surprise, really: Python has non-deterministic destruction,
so your "del my_gr" doesn't instantly deconstruct the underlying object
and thus doesn't free the buffers.
I sadly don't have an easy solution. Generally, while True: building a
completely flowgraph and then deconstructing it to build it anew sounds
a bit hacky (might still be the right thing to do!). What is it that you
want to achieve?
Best regards,
Marcus
[1]https://www.gnuradio.org/blog/2017-01-05-buffers/
On 31/03/2021 01.10, Weite Zhang wrote:
Hi,
I was running a python script based on gnuradio modules. Below is a
simple description of what the script is trying to do:
while True:
# create the GNURadio flowchart where the transceiver USRP is used to
transmit a wave that will be saved into binary files
my_gr = GNURadio_Top_Block()
# run the GNURadio flowchart
my_gr.run()
# wait until it finishes and stop
my_gr.stop()
# delete the created obj to release the RAM
del my_gr
The above script will always stop and post an error by saying
"gr::vmcircbuf_sysv_shm: shmget (1): No space left on device" after
multiple iterations. I could not figure out why this is happening. Could
anyone give me some suggestions?
-
Weite
smime.p7s
Description: S/MIME Cryptographic Signature