[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Memory allocation issue
From: |
Ron Economos |
Subject: |
[Discuss-gnuradio] Memory allocation issue |
Date: |
Tue, 21 Oct 2014 09:12:53 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
I'm writing a block that requires a large amount of data to be processed
in one iteration of the work function. If I call set_output_multiple()
with 8100 * 130 = 1053000 items (of gr_complex), I get the following error:
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::buffer::allocate_buffer: failed to allocate buffer of size 16456 KB
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget(1): Invalid argument
gr::buffer::allocate_buffer: failed to allocate buffer of size 16456 KB
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
I realize that 16 Megabytes is a little large, but not astronomical.
The set_output_multiple() function does work fine with 8100 * 129
= 1044900 items (of gr_complex).
Is this some hard limitation in the shared memory library, or can it be
overridden somehow?
best regards,
Ron
- [Discuss-gnuradio] Memory allocation issue,
Ron Economos <=