discuss-gnuradio
[Top][All Lists]
Advanced

[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



reply via email to

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