Coder Social home page Coder Social logo

gnuradio / gnuradio Goto Github PK

View Code? Open in Web Editor NEW
4.9K 233.0 1.9K 68.03 MB

GNU Radio – the Free and Open Software Radio Ecosystem

Home Page: https://gnuradio.org

License: GNU General Public License v3.0

CMake 3.00% Shell 0.21% C 4.99% C++ 62.11% Python 28.98% MATLAB 0.11% Fortran 0.25% Thrift 0.02% Roff 0.04% Mako 0.26% Raku 0.01% Batchfile 0.03%
sdr dsp wireless cybersecurity c-plus-plus python gnu radio gnuradio hacktoberfest

gnuradio's Introduction

Make Test Version AUR Docs Packaging status

GNU Radio

GNU Radio is a free & open-source signal processing runtime and signal processing software development toolkit. Originally developed for use with software-defined radios and for simulating wireless communications, it's robust capabilities have led to adoption in hobbyist, academic, and commercial environments. GNU Radio has found use in software-defined radio, digital communications, nuclear physics, high- energy particle physics, astrophysics, radio astronomy and more!

Helpful Links

How to Run the QT Version of GNU Radio Companion

    # Ensure PyQt5 and other dependencies are installed
    pip install QDarkStyle qtpy
    
    # If you want to run tests
    pip install pytest-qt pyautogui

    # Build and install as usual (described below) and then run
    gnuradio-companion --qt

GNU Radio 4.0

The next major release of GNU Radio, GNU Radio 4.0, is currently under active development. The effort is being spearheaded by FAIR (The Facility for Anti-Proton and Ion Research), part of GSI in Germany. Development of that version is currently taking place under their GitHub organization, here.

How to Install GNU Radio

Prebuilt Binaries

The recommended way to install GNU Radio on most platforms is using available binary package distributions.

The following command is for Debian, Ubuntu, and derivatives. Consult your distribution information to obtain the version of GNU Radio which is included.

    sudo apt install gnuradio

For other operating systems and versions, see Quick Start

Ubuntu PPA Installation

For Ubuntu, the latest builds (both released and pulled from master branch) are maintained as PPAs (Personal Package Archives) on launchpad.net. Be sure to uninstall any previously installed versions of gnuradio first. See UnInstall GR.

Other Installation Methods

Platform-specific guides and Cross-platform guides are described in Other Installation Methods.

From Source

Complete instructions for building GNU Radio from source code are detailed in Installing From Source.

PyBOMBS

We are no longer recommending PyBOMBS to install modern versions of GNU Radio.

Legal Matters

Some files have been changed many times throughout the years. Copyright notices at the top of source files list which years changes have been made. For some files, changes have occurred in many consecutive years. These files may often have the format of a year range (e.g., "2006 - 2011"), which indicates that these files have had copyrightable changes made during each year in the range, inclusive.

gnuradio's People

Contributors

argilo avatar balister avatar bastibl avatar benreynwar avatar dl1ksv avatar drmpeg avatar eblossom avatar gnieboer avatar guruofquality avatar haakov avatar jacobagilbert avatar jdemel avatar jmcorgan avatar maitbot avatar marcusmueller avatar mbr0wn avatar michaelld avatar mormj avatar n-west avatar ncorgan avatar noc0lour avatar osh avatar pinkavaj avatar ryanvolz avatar sdh11 avatar skoslowski avatar smunaut avatar thomashabets avatar trondeau avatar willcode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gnuradio's Issues

Packet Decoder: "AttributeError: 'module' object has no attribute 'message_from_string'"

I couldn't find a way to submit an issue in the GNURadio Redmine, so I'll do it here.

When using the Packet Decoder Block in GRC at current HEAD (553c06d), an Attribute Error is raised:

AttributeError: 'module' object has no attribute 'message_from_string'

In line 243 of grc/grc_gnuradio/blks2/packet.py is a call to blocks.message_from_string which should be gr.message_from_string. After changing this line, it seems to work again.

Proposed patch:

diff --git a/grc/grc_gnuradio/blks2/packet.py b/grc/grc_gnuradio/blks2/packet.py
index 4c7bd23..e965f2e 100644
--- a/grc/grc_gnuradio/blks2/packet.py
+++ b/grc/grc_gnuradio/blks2/packet.py
@@ -240,8 +240,8 @@ class packet_demod_base(gr.hier_block2):
                                      blocks.null_sink(packet_sink._hb.output_signature().sizeof_stream_item(0)))

        def recv_pkt(self, ok, payload):
-               msg = blocks.message_from_string(payload, 0, self._item_size_out,
-                                                 len(payload)/self._item_size_out)
+               msg = gr.message_from_string(payload, 0, self._item_size_out,
+                                             len(payload)/self._item_size_out)
                if ok: self._msgq_out.insert_tail(msg)

 class packet_demod_b(packet_demod_base): _item_size_out = gr.sizeof_char

Trigger delay causes QT TimeSink to use excessive CPU with tags and high sample rate

The use of trigger delay causes the QT TimeSink to consume excessive CPU in the case of a high sample rate and periodic tagged bursts.

See the attached GRC, ps output, and OProfile opreport output.

It appears that the tag manipulations performed by time_sink_f_impl::_reset() in the case of a delayed trigger, as currently implemented, can be quite expensive, as they cause a significant amount of time to be spent in pmt::intrusive_ptr_add_ref(pmt::pmt_base_) and pmt::intrusive_ptr_release(pmt::pmt_base_).

Reusing a pfb_arb_resampler_ccf causes flowgraph to stop flowing

This is a possibly platform- and timing-dependent bug. I believe it was introduced into GNU Radio ?recently?, because it started occurring without my having made any code changes, but I do not know the last working version and this was some months ago.

I have a dynamic flow graph; certain subgraphs are inserted or removed according to whether they are currently needed; one of these contains a @pfb_arb_resampler_ccf@ block. I find that the flow graph eventually stops functioning; i.e. samples stop flowing. Additionally, the following error might be seen, despite the fact that the size of the filter has not been changed:

sched:  is requesting more input data
  than we can provide.
  ninput_items_required = 227375
  max_possible_items_available = 8191
  If this is a filter, consider reducing the number of taps.

The attached test case is designed to reproduce the bug reliably. It starts a trivial flow graph running, then repeatedly inserts and removes the resampler block (with the accompanying lock/unlock), and monitors the sample flow rate. If the flow rate drops to 0, then it prints @false@ and exits, otherwise it stops after 100 iterations.

Tested on the following environments:

  • Mac OS X 10.9.4, GR 3.7.5 (via MacPorts): fails in 2-3 iterations.
  • Ubuntu 14.04 on ARM (BeagleBone Black), GR v3.7.4git-402-g085c35a (via pybombs): fails in 8 iterations.
  • Ubuntu 14.04.1 on x86_64, GR 3.7.3 (via gqrx PPA): the reduced test case does not fail. Currently not able to test further with the original program due to unrelated issues.

vector_source_c throws 'std::bad_alloc' when used with tags

Stumbled over this while trying to implement a new QA.

'gnuradio-config-info -v': 3.7.10

A minimal "failing" example is attached.

src = blocks.vector_source_c(data, (tag, ))
# src = blocks.vector_source_c(data)

the active line here will throw an error after waiting for a few seconds:

thread[thread-per-block[1]: ]: std::bad_alloc

The version without tags does work just fine.
Also, tb.run() must be called.

commit: cc58cdd
date 3.7.2016 (dd.mm.yyyy)
OS: Ubuntu 16.04 running in a VM

github gnuradio master does not report any changes for the last 6 months for the corresponding files.

IIR filter "oldstyle" trigger should be removed

We've changed the IIR filter behavior a while ago to work with taps in the way Scipy and Matlab produce IIR filters. We kept the older model around for how the taps are used with an "oldstyle" bool argument (that defaulted to true). In the next API version, I recommend we move up to the new style completely and remove the old style setting.

We should add a warning when the old style is being used and recommending that it be updated to the new style -- which is just negating the values of the feedback taps.

Use of freed buffers in vmcircbuf_prefs causes invalid file names to be used

When running gnuradio 3.7.2.2 on Windows, I often get messages such as these on the console:

J??8?\supersat\AppData\Roaming.gnuradio\prefs\vmcircbuf_default_factory: Invalid argument
x?
?²??\supersat\AppData\Roaming.gnuradio\prefs\vmcircbuf_default_factory: Invalid argument

Sometimes this causes random files to be dropped in the current directory.

Looking at vmcircbuf_prefs.cc, it's pretty clear what the problem is. There's a couple of freed buffers being passed around:

  1. pathname() returns a C string pointer from a C++ string that goes out of scope when the function returns.
  2. vmcircbuf_prefs::get returns a pointer to a buffer that's allocated on the stack, which goes out of scope when the function returns.

I would fix this but I have not (yet) built GNU Radio on Windows.

skip head block should drop corresponding tags

Currently it appears that tags are passed through skip head unmodified, whereas the first N should be dropped along with samples and the remaining offsets should be shifted back by -N

gr-audio windows (source not implemented)

At the moment audio_windows_source::work has an '#if 0' enclosing the contents of it's work function (i.e. the block does nothing).
We either need to make a decision to implement this, or delete the block.

Make file_source take an offset and length to read

I'd like to be able to peek at small intervals from large recordings. I propose adding two parameters to file_source: offset and readlen

Offset n = 0 would preserve the current behavior; offset n > 0 would seek n items into the file (n_1 byte for chars, n_2 bytes for shorts, n*4 bytes for floats)
Readlen = 0 would preserve the current behavior; readlen n > 0 would effectively return a substring from the file (1 = give me 1 item, 1e6 = give me the next million items), then do whatever happens when EOF is reached; repeat or end.

I'd rather do this with a source block than by slicing up my source file with dd so that i can change the part of the file I'm reading at runtime, and so that I don't accidentally split and interesting signal in the middle.

vector_source_c throws 'std::bad_alloc' when used with tags

Stumbled over this while trying to implement a new QA.

'gnuradio-config-info -v': 3.7.10

A minimal "failing" example is attached.

src = blocks.vector_source_c(data, (tag, ))
# src = blocks.vector_source_c(data)

the active line here will throw an error after waiting for a few seconds:

thread[thread-per-block[1]: ]: std::bad_alloc

The version without tags does work just fine.
Also, tb.run() must be called.

commit: cc58cdd
date 3.7.2016 (dd.mm.yyyy)
OS: Ubuntu 16.04 running in a VM

github gnuradio master does not report any changes for the last 6 months for the corresponding files.

update grc for pep8

http://www.python.org/dev/peps/pep-0008/

Replace tabs with 4 spaces in grc code, xml wrappers, flow graph template, also replace some instanced of \t.
Also, modify the generator to replace tabs with 4 spaces so 3rd party wrappers continue to generate properly.
That way all of grc and its generated code will be pep8 compliant.

Some Build tests fail on Ubuntu 10.04.3

The following tests FAILED:
29 - qa_vector_sink_source (Failed)
117 - qa_file_metadata (Failed)
168 - qa_ctcss_squelch (Failed)

tjt7a@bt:~/src/gnuradio/build$ ctest -VV -R qa_vector_sink_source
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
Test project /home/tjt7a/src/gnuradio/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
test 29
Start 29: qa_vector_sink_source

29: Test command: /bin/sh /home/tjt7a/src/gnuradio/build/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source_test.sh
29: Test timeout computed to be: 9.99988e+06
29: ..E
29: ======================================================================
29: ERROR: test_003 (main.test_vector_sink_source)
29: ----------------------------------------------------------------------
29: Traceback (most recent call last):
29: File "/home/tjt7a/src/gnuradio/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py", line 61, in test_003
29: self.assertRaises(ValueError, lambda : gr.vector_source_f(src_data, False, 3))
29: File "/usr/lib/python2.6/unittest.py", line 336, in failUnlessRaises
29: callableObj(_args, *_kwargs)
29: File "/home/tjt7a/src/gnuradio/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py", line 61, in
29: self.assertRaises(ValueError, lambda : gr.vector_source_f(src_data, False, 3))
29: File "/home/tjt7a/src/gnuradio/build/gnuradio-core/src/lib/swig/gnuradio_core_gengen.py", line 1081, in vector_source_f
29: return _gnuradio_core_gengen.vector_source_f(_args, *_kwargs)
29: RuntimeError: data length must be a multiple of vlen
29:
29: ----------------------------------------------------------------------
29: Ran 3 tests in 0.003s
29:
29: FAILED (errors=1)
1/2 Test #29: qa_vector_sink_source ............***Failed 0.20 sec
test 106
Start 106: qa_vector_sink_source

106: Test command: /bin/sh /home/tjt7a/src/gnuradio/build/gr-blocks/python/qa_vector_sink_source_test.sh
106: Test timeout computed to be: 9.99988e+06
106: ...
106: ----------------------------------------------------------------------
106: Ran 3 tests in 0.001s
106:
106: OK
2/2 Test #106: qa_vector_sink_source ............ Passed 0.25 sec

The following tests passed:
qa_vector_sink_source

50% tests passed, 1 tests failed out of 2

Total Test time (real) = 0.46 sec

The following tests FAILED:
29 - qa_vector_sink_source (Failed)
Errors while running CTest

tjt7a@bt:~/src/gnuradio/build$ ctest -VV -R qa_file_metadata
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
Test project /home/tjt7a/src/gnuradio/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
test 117
Start 117: qa_file_metadata

117: Test command: /bin/sh /home/tjt7a/src/gnuradio/build/gr-blocks/python/qa_file_metadata_test.sh
117: Test timeout computed to be: 9.99988e+06
117: EE
117: ======================================================================
117: ERROR: test_001 (main.test_file_metadata)
117: ----------------------------------------------------------------------
117: Traceback (most recent call last):
117: File "/home/tjt7a/src/gnuradio/gr-blocks/python/qa_file_metadata.py", line 81, in test_001
117: self.assertGreater(len(extra_str), 0)
117: AttributeError: 'test_file_metadata' object has no attribute 'assertGreater'
117:
117: ======================================================================
117: ERROR: test_002 (main.test_file_metadata)
117: ----------------------------------------------------------------------
117: Traceback (most recent call last):
117: File "/home/tjt7a/src/gnuradio/gr-blocks/python/qa_file_metadata.py", line 160, in test_002
117: self.assertGreater(len(extra_str), 0)
117: AttributeError: 'test_file_metadata' object has no attribute 'assertGreater'
117:
117: ----------------------------------------------------------------------
117: Ran 2 tests in 0.006s
117:
117: FAILED (errors=2)
117: <pmt_swig.swig_int_ptr; proxy of <Swig Object of type 'boost::intrusive_ptr< pmt::pmt_base > ' at 0xabf2308> >
117: <pmt_swig.swig_int_ptr; proxy of <Swig Object of type 'boost::intrusive_ptr< pmt::pmt_base > *' at 0xa95a170> >
1/1 Test #117: qa_file_metadata .................
**Failed 0.27 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) = 0.28 sec

The following tests FAILED:
117 - qa_file_metadata (Failed)
Errors while running CTest

tjt7a@bt:~/src/gnuradio/build$ ctest -VV -R qa_ctcss_squelch
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
UpdateCTestConfiguration from :/home/tjt7a/src/gnuradio/build/DartConfiguration.tcl
Test project /home/tjt7a/src/gnuradio/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
test 168
Start 168: qa_ctcss_squelch

168: Test command: /bin/sh /home/tjt7a/src/gnuradio/build/gr-analog/python/qa_ctcss_squelch_test.sh
168: Test timeout computed to be: 9.99988e+06
168: .FF
168: ======================================================================
168: FAIL: test_ctcss_squelch_002 (main.test_ctcss_squelch)
168: ----------------------------------------------------------------------
168: Traceback (most recent call last):
168: File "/home/tjt7a/src/gnuradio/gr-analog/python/qa_ctcss_squelch.py", line 81, in test_ctcss_squelch_002
168: self.assertFloatTuplesAlmostEqual(expected_result, result_data, 4)
168: File "/home/tjt7a/src/gnuradio/gnuradio-core/src/python/gnuradio/gr_unittest.py", line 85, in assertFloatTuplesAlmostEqual
168: self.assertEqual (len(a), len(b))
168: AssertionError: 39 != 31
168:
168: ======================================================================
168: FAIL: test_ctcss_squelch_003 (main.test_ctcss_squelch)
168: ----------------------------------------------------------------------
168: Traceback (most recent call last):
168: File "/home/tjt7a/src/gnuradio/gr-analog/python/qa_ctcss_squelch.py", line 106, in test_ctcss_squelch_003
168: self.assertFloatTuplesAlmostEqual(expected_result, result_data, 4)
168: File "/home/tjt7a/src/gnuradio/gnuradio-core/src/python/gnuradio/gr_unittest.py", line 87, in assertFloatTuplesAlmostEqual
168: self.assertAlmostEqual (a[i], b[i], places, msg)
168: AssertionError: 0.80000000000000004 != 0.0 within 4 places
168:
168: ----------------------------------------------------------------------
168: Ran 3 tests in 0.002s
168:
168: FAILED (failures=2)
1/1 Test #168: qa_ctcss_squelch .................***Failed 0.21 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) = 0.22 sec

The following tests FAILED:
168 - qa_ctcss_squelch (Failed)
Errors while running CTest

Deprecate and remove gr-noaa

This is an application-level program that could live as an out-of-tree module in either CGRAN or as a parallel project on gnuradio.org. Some useful blocks could be migrated into gr-blocks, gr-analog, or gr-digital.

gr-digital: tunnel.py tune failure if lo-offset is not defined

Originally reported by Johnathan Fox, the lo-offset variable if not defined on the commandline causes the following error:

NotImplementedError: Wrong number of arguments for overloaded function 'new_tune_request_t'.

See the following for the terminal output showing the error:

[root@cobra narrowband]# ./tunnel.py -f 146.0M -a addr="10.2.8.104"
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-4); Boost_104100; UHD_003.007.001-64-g92b0b7ab

Using Volk machine: sse4_2_64
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes

UHD Warning:
The recv buffer could not be resized sufficiently.
Target sock buff size: 50000000 bytes.
Actual sock buff size: 5000000 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.rmem_max=50000000

UHD Warning:
The recv buffer could not be resized sufficiently.
Target sock buff size: 50000000 bytes.
Actual sock buff size: 5000000 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.rmem_max=50000000
-- Detecting internal GPSDO.... Found an internal GPSDO
-- found
-- Setting references to the internal GPSDO
-- Initializing time to the internal GPSDO

No gain specified.
Setting gain to 19.000000 (from [0.000000, 38.000000])
Traceback (most recent call last):
File "./tunnel.py", line 296, in
main()
File "./tunnel.py", line 259, in main
options)
File "./tunnel.py", line 103, in init
options.verbose)
File "/home/fox/Documents/GNU_radio/Cranial/narrowband/uhd_interface.py", line 199, in init
freq, lo_offset, gain, spec, antenna, clock_source)
File "/home/fox/Documents/GNU_radio/Cranial/narrowband/uhd_interface.py", line 70, in init
self._freq = self.set_freq(freq, lo_offset)
File "/home/fox/Documents/GNU_radio/Cranial/narrowband/uhd_interface.py", line 120, in set_freq
r = self.u.set_center_freq(uhd.tune_request(freq, lo_offset))
File "/usr/local/lib64/python2.6/site-packages/gnuradio/uhd/init.py", line 52, in init
super(tune_request_t, self).init(_args)
File "/usr/local/lib64/python2.6/site-packages/gnuradio/uhd/uhd_swig.py", line 792, in init
this = _uhd_swig.new_tune_request_t(_args)
NotImplementedError: Wrong number of arguments for overloaded function 'new_tune_request_t'.
Possible C/C++ prototypes are:
uhd::tune_request_t(double)
uhd::tune_request_t(double,double)

gr_prefs in C++ does not work

I was trying to use the new gnuradio-audio wrapper in linux/c++ and I noticed that it always selects ALSA even though my personal settings are set to portaudio. Python and GRC applications correctly use the portaudio backend.

The gr_prefs C++ class seems to use the prefs.py module via some swig magic, which I have very little understanding of, but I could determine that neither the _read_files not the init of the prefs.py are ever called from the C++ application.

I was using Ubuntu 10.10 with swig 1.3.40

Handle buffers which are not doubly-mapped appropriately

In the case that a block requires a custom buffer allocator (#730), but is unable to provide a doubly-mapped buffer, this should be handled correctly by the scheduler: e.g. by ensuring that @work()@ is never called with a number of items that would cause the edge of the buffer to be crossed.

Based on discussions held during Co-Processor Working Group session(s) ([[GRCon14CoProc]], [[GRCon13Coprocessor]])

Visual Studio compile errors ('""' is not recognized as an internal or external command)

Apologies for the creation of #798, I can't find a way to delete it.

When compiling the gnu-radio project in Visual studio (using CMake 3.2.2 and Visual-Studio 12.0.31101.00 Update 4), many projects fail to compile due to custom build script errors. (I've found two other reports of this in the discuss-gnuradio mailing list).

The problem seems to be a custom build step against many of the .rule files that just consists of a pair of double quotes, e.g.:

setlocal
""
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd

I think these custom build rules are generated by the following stanza in \cmake\Modules\UseSWIG.cmake

foreach(swig_gen_file ${${outfiles}})
add_custom_command(
OUTPUT ${swig_gen_file}
COMMAND ""
DEPENDS ${_target}
COMMENT ""
)
endforeach()

It seems that if you put something in the COMMAND "" quotes it is passed into the custom build without the quotes, but if you just put a pair of empty double quotes as above, you get the double quotes in the custom-build script and Visual Studio throws up the compile error.
Removing or commenting-out the COMMAND "" line seems to solve the problem.

Clean up PSK blocks in GRC

We have DPSK and PSK blocks in GRC but can set differential in the PSK blocks making the DPSK blocks redundant.

Support blocks that require custom buffer allocators

Blocks should be able to specify that they require custom buffer allocators for input/output buffers
This is to support accelerators that require contiguous memory (i.e. they don't have scatter/gather DMA support)

Based on discussions held during Co-Processor Working Group session(s) ([[GRCon14CoProc]], [[GRCon13Coprocessor]])

Remove gcell

We will not support gcell in the new cmake build system, so it is being deprecated and removed from v3.5.

vector_source_c throws 'std::bad_alloc' when used with tags

Stumbled over this while trying to implement a new QA.

'gnuradio-config-info -v': 3.7.10

A minimal "failing" example is attached.

src = blocks.vector_source_c(data, (tag, ))
# src = blocks.vector_source_c(data)

the active line here will throw an error after waiting for a few seconds:

thread[thread-per-block[1]: ]: std::bad_alloc

The version without tags does work just fine.
Also, tb.run() must be called.

commit: cc58cdd
date 3.7.2016 (dd.mm.yyyy)
OS: Ubuntu 16.04 running in a VM

github gnuradio master does not report any changes for the last 6 months for the corresponding files.

Complicated sources cause Companion GUI glitches

tl;dr osmocom source and UHD source blocks are pretty complex and the GUI takes noticeable time to crunch through it on every click

Hi,
when you add osmocom source from gr-osmosdr into the flowgraph, you can notice that every flowgraph change (adding connection, editing block settings...) triggers an annoying lag with 100% CPU usage.

This started with commit aa4094b3fd in gr-osmosdr which increased number of channels in the source block. Now this settings is in grc/gen_osmosdr_blocks.py:448.

UHD source has similar problem, though it takes a little shorter, so it's not as annoying.

I have measured it on i3-2350M for several numbers of channels.

Channels Lag
5 none
32 (default) noticeable (~500 ms?)
128 3s
256 25s

As you can see it increases more than linearly though the XML description of the block increases only linearly.

I don't know how to profile this. The workaround is setting maximum number of channels back to 5 (if you don't have radio with more channels).

Rename finished() member function in block.h to is_msg_handler_finished() or something similar

To reduce confusing, it is desirable to rename the finished() function to something more descriptive. #730 requires the addition of several life-cycle management functions for blocks, and the current proposed named for the function that will handle deallocating memory is finish(). This is potentially confusing, and since the the finished() function is used to indicate that the message port handler is complete, a rename is suggested.
This is an API breaking change, so any rename will have to wait until release 3.8.0

Message controlled file/signal source

Create a source that is controlled via a message interface. The intent is to make it easier to switch sources programmatically or via a GRC GUI. Currently, flowgraphcs need to be stopped/edited/started to change source. Includes some or all of these features:

  1. Play a file, given file name, sample type, repeat/not, offset (in samples) and length to play (in samples)
  2. Stop playing
  3. Play a vector (signal, packet contents, etc.)
  4. Emit a signal (cosine, DC, noise) using appropriate parameters
  5. Queue commands to form a simple sequencer, e.g. DTMF. This could just be a queue of other "play" commands.
  6. Other sources.

Message Blocks without data never exit from a limited data source

[Problem]
In GR 3.7.7.1, blocks which process async messages do not exit properly when given sources with limited data.

[Examples]
Example 1: pdu_to_tagged_stream
Does not exit properly when using a source with limited data. See attached example courtesy Bastian Bloessl.

Example 2: wireshark_connector in gr-foo
Example GRC file, requires gr-80211 OOTM (https://github.com/bastibl/gr-ieee802-11)
https://github.com/garverp/gr-ieee802-11/blob/offline_processing/examples/playback_wifi_rx_cli.grc

[Investigation]
See mailing list discussion: https://lists.gnu.org/archive/html/discuss-gnuradio/2015-06/msg00060.html

Both example 1 and 2 exhibit the same problem. While the "done" message is received by system_handler, the work() function continues to be called. Since this occurs with two different blocks, I propose this is not an application-specific issue, which has not been solved by 035b9d0.

vector_source_c throws 'std::bad_alloc' when used with tags

Stumbled over this while trying to implement a new QA.

'gnuradio-config-info -v': 3.7.10

A minimal "failing" example is attached.

src = blocks.vector_source_c(data, (tag, ))
# src = blocks.vector_source_c(data)

the active line here will throw an error after waiting for a few seconds:

thread[thread-per-block[1]: ]: std::bad_alloc

The version without tags does work just fine.
Also, tb.run() must be called.

commit: cc58cdd
date 3.7.2016 (dd.mm.yyyy)
OS: Ubuntu 16.04 running in a VM

github gnuradio master does not report any changes for the last 6 months for the corresponding files.

CMake warnings with CMake 3.0.2

CMake 3.0.2 (as shipped with XUbuntu 15.04) reports the following CMake policy warnings during configuration of a GNU Radio 3.7.7 build.

"CMP0026":http://www.cmake.org/cmake/help/v3.0/policy/CMP0026.html#cmp0026 - @disallow use of the LOCATION target property.@
"CMP0043":http://www.cmake.org/cmake/help/v3.0/policy/CMP0043.html#cmp0043 - @ignore COMPILE_DEFINITIONS_ properties@
"CMP0045":http://www.cmake.org/cmake/help/v3.0/policy/CMP0045.html#cmp0045 - @error on non-existent target in get_target_property.@
"CMP0046":http://www.cmake.org/cmake/help/v3.0/policy/CMP0046.html#cmp0046 - @error on non-existent dependency in add_dependencies.@

I seemed to be still be running into these when setting @cmake_policy(VERSION 2.8.12)@ in the top-level @CMakeLists.txt@, but still need to dig further.

The full log is shown below.

-- The CXX compiler identification is GNU 4.9.2
-- The C compiler identification is GNU 4.9.2
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Build type not specified: defaulting to release.
-- Build type set to Release.
-- Found Git: /usr/bin/git  
-- Extracting version information from git describe...
-- Performing Test HAVE_VISIBILITY_HIDDEN
-- Performing Test HAVE_VISIBILITY_HIDDEN - Success
-- Performing Test HAVE_WARN_SIGN_COMPARE
-- Performing Test HAVE_WARN_SIGN_COMPARE - Success
-- Performing Test HAVE_WARN_ALL
-- Performing Test HAVE_WARN_ALL - Success
-- Performing Test HAVE_WARN_NO_UNINITIALIZED
-- Performing Test HAVE_WARN_NO_UNINITIALIZED - Success
-- Compiler Version: cc (Ubuntu 4.9.2-10ubuntu13) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- Compiler Flags: /usr/bin/cc:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized
/usr/bin/c++:::-O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized
-- ADDING PERF COUNTERS
-- Building Static Libraries: OFF
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   date_time
--   program_options
--   filesystem
--   system
--   thread
## -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.9", minimum required is "2") 

-- Checking for module SWIG
-- Found SWIG version 2.0.12.
## -- Found SWIG: /usr/bin/swig2.0  

-- The build system will automatically enable all components.
## -- Use -DENABLE_DEFAULT=OFF to disable components by default.

-- Configuring python-support support...
--   Dependency PYTHONLIBS_FOUND = TRUE
--   Dependency SWIG_FOUND = TRUE
--   Dependency SWIG_VERSION_CHECK = TRUE
--   Enabling python-support support.
--   Override with -DENABLE_PYTHON=ON/OFF
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'cppunit'
--   found cppunit, version 1.13.2
## -- Found CPPUNIT: /usr/lib/x86_64-linux-gnu/libcppunit.so;dl  

-- Configuring testing-support support...
--   Dependency CPPUNIT_FOUND = TRUE
--   Enabling testing-support support.
## --   Override with -DENABLE_TESTING=ON/OFF

-- Configuring VOLK support...
-- Build type set to Release.
-- Extracting version information from git describe...
## -- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.9", minimum required is "2") 

-- Python checking for python >= 2.5
## -- Python checking for python >= 2.5 - found

-- Python checking for Cheetah >= 2.0.0
-- Python checking for Cheetah >= 2.0.0 - found
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   unit_test_framework
--   program_options
-- checking for module 'orc-0.4 > 0.4.11'
--   found orc-0.4 > 0.4.11, version 0.4.22
-- Found ORC: /usr/lib/x86_64-linux-gnu/liborc-0.4.so  
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.9.1") 
-- QA Testing is enabled.
--   Modify using: -DENABLE_TESTING=ON/OFF
-- Looking for cpuid.h
-- Looking for cpuid.h - found
-- Looking for intrin.h
-- Looking for intrin.h - not found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Compiler name: GNU
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG
-- Performing Test HAVE_WERROR_UNUSED_CMD_LINE_ARG - Failed
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- x86\* CPU detected
-- Performing Test have_maltivec
-- Performing Test have_maltivec - Failed
-- Performing Test have_mfloat_abi_softfp
-- Performing Test have_mfloat_abi_softfp - Failed
-- Performing Test have_mfloat_abi_hard
-- Performing Test have_mfloat_abi_hard - Failed
-- Performing Test have_mfpu_neon
-- Performing Test have_mfpu_neon - Failed
-- Performing Test have_funsafe_math_optimizations
-- Performing Test have_funsafe_math_optimizations - Success
-- Performing Test have_m32
-- Performing Test have_m32 - Failed
-- Performing Test have_m64
-- Performing Test have_m64 - Success
-- Performing Test have_m3dnow
-- Performing Test have_m3dnow - Success
-- Performing Test have_msse4_2
-- Performing Test have_msse4_2 - Success
-- Performing Test have_mpopcnt
-- Performing Test have_mpopcnt - Success
-- Performing Test have_mmmx
-- Performing Test have_mmmx - Success
-- Performing Test have_msse
-- Performing Test have_msse - Success
-- Performing Test have_msse2
-- Performing Test have_msse2 - Success
-- Performing Test have_msse3
-- Performing Test have_msse3 - Success
-- Performing Test have_mssse3
-- Performing Test have_mssse3 - Success
-- Performing Test have_msse4a
-- Performing Test have_msse4a - Success
-- Performing Test have_msse4_1
-- Performing Test have_msse4_1 - Success
-- Performing Test have_mavx
-- Performing Test have_mavx - Success
-- Check size of void_[8]
-- Check size of void_[8] - done
-- CPU width is 64 bits, Overruled arch 32
-- Available architectures: generic;64;3dnow;abm;popcount;mmx;sse;sse2;orc;norc;sse3;ssse3;sse4_a;sse4_1;sse4_2;avx
-- Available machines: generic_orc;sse2_64_mmx_orc;sse3_64_orc;ssse3_64_orc;sse4_a_64_orc;sse4_1_64_orc;sse4_2_64_orc;avx_64_mmx_orc
-- BUILD TYPE = RELEASE
-- Base cflags = -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized
-- BUILD INFO ::: generic_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized 
-- BUILD INFO ::: sse2_64_mmx_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2
-- BUILD INFO ::: sse3_64_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3
-- BUILD INFO ::: ssse3_64_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3 -mssse3
-- BUILD INFO ::: sse4_a_64_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3 -msse4a -mpopcnt
-- BUILD INFO ::: sse4_1_64_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1
-- BUILD INFO ::: sse4_2_64_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt
-- BUILD INFO ::: avx_64_mmx_orc ::: GNU ::: -O3 -DNDEBUG  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -m64 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mavx
-- Compiler Version: cc (Ubuntu 4.9.2-10ubuntu13) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- c flags:  -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized;
-- asm flags: 
-- Loading build date Thu, 30 Apr 2015 21:35:00 into constants...
-- Loading version 1.0 into constants...
## -- Using install prefix: /usr/local

-- Configuring volk support...
--   Enabling volk support.
--   Override with -DENABLE_VOLK=ON/OFF
--   Override with -DENABLE_INTERNAL_VOLK=ON/OFF
-- ENABLE_GR_LOG set to ON.
-- HAVE_LOG4CPP set to False.
-- LOG4CPP_LIBRARIES set to .
## -- Found Sphinx: /usr/bin/sphinx-build  

-- Configuring doxygen support...
--   Dependency DOXYGEN_FOUND = YES
--   Enabling doxygen support.
## --   Override with -DENABLE_DOXYGEN=ON/OFF

-- Configuring sphinx support...
--   Dependency SPHINX_FOUND = TRUE
--   Enabling sphinx support.
--   Override with -DENABLE_SPHINX=ON/OFF
-- Looking for C++ include netdb.h
-- Looking for C++ include netdb.h - found
-- Looking for C++ include sys/time.h
-- Looking for C++ include sys/time.h - found
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include sys/select.h
-- Looking for C++ include sys/select.h - found
-- Looking for C++ include sys/socket.h
-- Looking for C++ include sys/socket.h - found
-- Looking for C++ include io.h
-- Looking for C++ include io.h - not found
-- Looking for C++ include sys/mman.h
-- Looking for C++ include sys/mman.h - found
-- Looking for C++ include sys/ipc.h
-- Looking for C++ include sys/ipc.h - found
-- Looking for C++ include sys/shm.h
-- Looking for C++ include sys/shm.h - found
-- Looking for C++ include signal.h
-- Looking for C++ include signal.h - found
-- Looking for C++ include netinet/in.h
-- Looking for C++ include netinet/in.h - found
-- Looking for C++ include arpa/inet.h
-- Looking for C++ include arpa/inet.h - found
-- Looking for C++ include byteswap.h
-- Looking for C++ include byteswap.h - found
-- Looking for C++ include linux/ppdev.h
-- Looking for C++ include linux/ppdev.h - found
-- Looking for C++ include dev/ppbus/ppi.h
-- Looking for C++ include dev/ppbus/ppi.h - not found
-- Looking for C++ include unistd.h
-- Looking for C++ include unistd.h - found
-- Looking for C++ include malloc.h
-- Looking for C++ include malloc.h - found
-- Performing Test HAVE_SNPRINTF
-- Performing Test HAVE_SNPRINTF - Success
-- Performing Test HAVE_SIGACTION
-- Performing Test HAVE_SIGACTION - Success
-- Performing Test HAVE_SELECT
-- Performing Test HAVE_SELECT - Success
-- Performing Test HAVE_SYSCONF
-- Performing Test HAVE_SYSCONF - Success
-- Performing Test HAVE_GETPAGESIZE
-- Performing Test HAVE_GETPAGESIZE - Success
-- Performing Test HAVE_SSLEEP
-- Performing Test HAVE_SSLEEP - Failed
-- Performing Test HAVE_NANOSLEEP
-- Performing Test HAVE_NANOSLEEP - Success
-- Performing Test HAVE_GETTIMEOFDAY
-- Performing Test HAVE_GETTIMEOFDAY - Success
-- Performing Test HAVE_VALLOC
-- Performing Test HAVE_VALLOC - Success
-- Performing Test HAVE_PTHREAD_SIGMASK
-- Performing Test HAVE_PTHREAD_SIGMASK - Success
-- Performing Test HAVE_CREATEFILEMAPPING
-- Performing Test HAVE_CREATEFILEMAPPING - Failed
-- Performing Test HAVE_SHM_OPEN
-- Performing Test HAVE_SHM_OPEN - Success
-- Performing Test HAVE_SINCOS
-- Performing Test HAVE_SINCOS - Success
-- Performing Test HAVE_SINCOSF
-- Performing Test HAVE_SINCOSF - Success
-- Performing Test HAVE_SINF
-- Performing Test HAVE_SINF - Success
-- Performing Test HAVE_COSF
-- Performing Test HAVE_COSF - Success
-- Performing Test HAVE_MMAP
-- Performing Test HAVE_MMAP - Success
-- Performing Test HAVE_PTHREAD_SETSCHEDPARAM
-- Performing Test HAVE_PTHREAD_SETSCHEDPARAM - Success
-- Performing Test HAVE_SCHED_SETSCHEDULER
## -- Performing Test HAVE_SCHED_SETSCHEDULER - Success

-- Configuring gnuradio-runtime support...
--   Dependency Boost_FOUND = 1
--   Dependency ENABLE_VOLK = ON
--   Dependency PYTHONINTERP_FOUND = TRUE
--   Enabling gnuradio-runtime support.
## --   Override with -DENABLE_GNURADIO_RUNTIME=ON/OFF

-- Configuring gr-ctrlport support...
--   Dependency Boost_FOUND = 1
--   Dependency SWIG_FOUND = TRUE
--   Dependency SWIG_VERSION_CHECK = TRUE
--   Dependency ENABLE_GNURADIO_RUNTIME = ON
--   Enabling gr-ctrlport support.
--   Override with -DENABLE_GR_CTRLPORT=ON/OFF
-- Looking for C++ include sys/resource.h
-- Looking for C++ include sys/resource.h - found
-- Loading build date Thu, 30 Apr 2015 21:35:02 into constants...
-- Loading version 3.7.7 into constants...
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "volk".  Use the
  target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/pmt/CMakeLists.txt:161 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "gnuradio-runtime".
Call Stack (most recent call first):
  gnuradio-runtime/lib/pmt/CMakeLists.txt:161 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "test-gnuradio-pmt".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/pmt/CMakeLists.txt:161 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gr_pmt_test".  Use
  the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/pmt/CMakeLists.txt:161 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for C++ include windows.h
-- Looking for C++ include windows.h - not found
-- TRY_SHM_VMCIRCBUF set to ON.
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "volk".  Use the
  target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/CMakeLists.txt:277 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-runtime".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/CMakeLists.txt:277 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target
  "test-gnuradio-runtime".  Use the target name directly with
  add_custom_command, or use the generator expression $, as
  appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/CMakeLists.txt:277 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gr_runtime_test".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/lib/CMakeLists.txt:277 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of size_t
-- Check size of size_t - done
-- Check size of unsigned int
-- Check size of unsigned int - done
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE - Success
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/gnuradio/gr/qa_tag_utils.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/gnuradio/gr/qa_kludged_imports.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/gnuradio/gr/qa_feval.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/gnuradio/gr/qa_hier_block2.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt:52 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-runtime".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/pmt/qa_pmt.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-runtime".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gnuradio-runtime/python/pmt/qa_pmt_to_python.py".
Call Stack (most recent call first):
  gnuradio-runtime/python/pmt/CMakeLists.txt:45 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.
## 

-- Configuring gr-blocks support...
--   Dependency Boost_FOUND = 1
--   Dependency ENABLE_GNURADIO_RUNTIME = ON
--   Enabling gr-blocks support.
--   Override with -DENABLE_GR_BLOCKS=ON/OFF
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "volk".  Use the
  target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gr-blocks/lib/CMakeLists.txt:317 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-runtime".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gr-blocks/lib/CMakeLists.txt:317 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "test-gr-blocks".  Use
  the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gr-blocks/lib/CMakeLists.txt:317 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-blocks".
  Use the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gr-blocks/lib/CMakeLists.txt:317 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "test-gr-blocks".  Use
  the target name directly with add_custom_command, or use the generator
  expression $, as appropriate.

Call Stack (most recent call first):
  gr-blocks/lib/CMakeLists.txt:317 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_repack_bits_bb.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_stream_to_tagged_stream.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_plateau_detector_fb.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_regenerate.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_argmax.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_unpack_k_bits.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_moving_average.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_repeat.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_delay.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_affinity.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_file_metadata.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_max.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_rms.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_keep_m_in_n.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_pdu.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_stream_mux.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_sample_and_hold.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_message.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "-B".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/jon/software/gnuradio/gnuradio/gr-blocks/python/blocks/qa_transcendental.py".
Call Stack (most recent call first):
  gr-blocks/python/blocks/CMakeLists.txt:57 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress

vector_source_c throws 'std::bad_alloc' when used with tags

Stumbled over this while trying to implement a new QA.

'gnuradio-config-info -v': 3.7.10

A minimal "failing" example is attached.

src = blocks.vector_source_c(data, (tag, ))
# src = blocks.vector_source_c(data)

the active line here will throw an error after waiting for a few seconds:

thread[thread-per-block[1]: ]: std::bad_alloc

The version without tags does work just fine.
Also, tb.run() must be called.

commit: cc58cdd
date 3.7.2016 (dd.mm.yyyy)
OS: Ubuntu 16.04 running in a VM

github gnuradio master does not report any changes for the last 6 months for the corresponding files.

Remove usrp and usrp2 support

The libusrp, libusrp2, and the GR interfaces to each have been deprecated and will be removed for version 3.5. Everything usrp(2) is replaced with UHD.

Deprecate and remove gr-pager

This is an application-level program that could live as an out-of-tree module in either CGRAN or as a parallel project on gnuradio.org. Some useful blocks could be migrated into gr-blocks, gr-analog, or gr-digital.

Segfault using gr-mac and pmts. Race condition?

Running the attached script with GNU Radio from maint, segfaults after some time. I did not attach the core as it's 76M in size.
This was run on 1c33a22 (maint) on a oe dizzy based Xilinx Zynq system.

Steps to reproduce:

  1. Build off of maint / or master
  2. python pmt_smasher.py
  3. Wait ... segfault

This GDB was configured as "arm-oe-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python...Reading symbols from /usr/bin/.debug/python2.7...done.
done.
(gdb) set args pmt_smasher.py
(gdb) core-file core
warning: core file may not match specified executable file.
[New LWP 1014]
[New LWP 1011]
[New LWP 1009]
[New LWP 1013]
[New LWP 1012]
[New LWP 1010]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `python ./pmt_smasher.py'.
Program terminated with signal SIGSEGV, Segmentation fault.

0 0x0000001c in ?? ()

(gdb) bt

0 0x0000001c in ?? ()

1 0xb5438768 in ~intrusive_ptr (this=0xb2900748, __in_chrg=)

at /home/mfischer/local/oecore-x86_64-pmt-dizzy/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/boost/smart_ptr/intrusive_ptr.hpp:97

2 _wrap_delete_swig_int_ptr (args=)

at /home/mfischer/src/gnuradio.git/build-pmt-dizzy/gnuradio-runtime/swig/pmt_swigPYTHON_wrap.cxx:30147

3 0xb6e55a60 in PyObject_Call (func=func@entry=0xd41e18,

arg=arg@entry=0x14bee70, kw=kw@entry=0x0) at Objects/abstract.c:2529

4 0xb6e5602c in PyObject_CallFunctionObjArgs (callable=0xd41e18)

at Objects/abstract.c:2760

5 0xb542f9b4 in SwigPyObject_dealloc (v=0x1b2c0b0)

at /home/mfischer/src/gnuradio.git/build-pmt-dizzy/gnuradio-runtime/swig/pmt_swigPYTHON_wrap.cxx:1676

6 0xb6e93130 in dict_dealloc (mp=0x1b2bed0) at Objects/dictobject.c:985

7 0xb6eb0a20 in subtype_dealloc (self=0x1b25e70) at Objects/typeobject.c:999

8 0xb6ef9710 in call_function (oparg=, pp_stack=0xb17fe700)

at Python/ceval.c:4055

9 PyEval_EvalFrameEx (f=f@entry=0xb2900bd8, throwflag=throwflag@entry=0)

at Python/ceval.c:2666

10 0xb6efbde8 in fast_function (nk=, na=, n=2,

pp_stack=0xb17fe7c8, func=) at Python/ceval.c:4107

11 call_function (oparg=, pp_stack=0xb17fe7c8)

---Type to continue, or q to quit---
at Python/ceval.c:4042

12 PyEval_EvalFrameEx (f=f@entry=0x0, throwflag=)

at Python/ceval.c:2666

13 0xb6efc9b8 in PyEval_EvalCodeEx (co=0x108b2a8, globals=,

locals=locals@entry=0x0, args=args@entry=0x1b2a384, argcount=2,
kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0,
defcount=defcount@entry=0, closure=closure@entry=0x0)
at Python/ceval.c:3253

14 0xb6e7fea8 in function_call (func=0x108edf0, arg=0x1b2a378, kw=0x0)

at Objects/funcobject.c:526

15 0xb6e55a60 in PyObject_Call (func=func@entry=0x108edf0,

arg=arg@entry=0x1b2a378, kw=kw@entry=0x0) at Objects/abstract.c:2529

16 0xb6e682d8 in instancemethod_call (func=0x108edf0, arg=0x1b2a378, kw=0x0)

at Objects/classobject.c:2578

17 0xb6e55a60 in PyObject_Call (func=func@entry=0x18c6968,

arg=arg@entry=0x14beef0, kw=kw@entry=0x0) at Objects/abstract.c:2529

18 0xb6e55f7c in PyObject_CallMethodObjArgs (callable=0x18c6968,

name=0x1b25dc0) at Objects/abstract.c:2738

19 0xb55bc884 in SwigDirector_feval_p::eval (this=0x1b5f728, x=...)

at /home/mfischer/src/gnuradio.git/build-pmt-dizzy/gnuradio-runtime/swig/runtime_swigPYTHON_wrap.cxx:7074

20 0xb55ef490 in gr::py_feval_p::calleval (this=0x1b5f728, x=...)

at /home/mfischer/src/gnuradio.git/gnuradio-runtime/include/gnuradio/py_feval.h:88

21 0xb677b398 in gr::block_gateway::dispatch_msg (this=0x1b5e7c8,

which_port=..., msg=...)
at /home/mfischer/src/gnuradio.git/gnuradio-runtime/include/gnuradio/block_gateway.h:294

22 0xb67b7374 in gr::tpb_thread_body::tpb_thread_body (this=0xb17fecf8,

block=..., max_noutput_items=)
at /home/mfischer/src/gnuradio.git/gnuradio-runtime/lib/tpb_thread_body.cc:106

23 0xb67adb98 in operator() (this=0x1948460)

at /home/mfischer/src/gnuradio.git/gnuradio-runtime/lib/scheduler_tpb.cc:44

24 gr::thread::thread_body_wrappergr::tpb_container::operator() (

this=0x1948460)
at /home/mfischer/src/gnuradio.git/gnuradio-runtime/include/gnuradio/thread/thread_body_wrapper.h:51

25 0xb6760970 in operator() (this=)

at /home/mfischer/local/oecore-x86_64-pmt-dizzy/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/boost/function/function_template.hpp:767

26 boost::detail::thread_databoost::function0::run (

this=)
at /home/mfischer/local/oecore-x86_64-pmt-dizzy/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/boost/thread/detail/thread.hpp:115

27 0xb655bf68 in boost::(anonymous namespace)::thread_proxy (

28 0xb6cd0db0 in start_thread (arg=0xb17ff460) at pthread_create.c:315

29 0xb6db9080 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89

from /lib/libc.so.6

Resources in .pyd files

It would be nice to have a resource section in the _Python.pyd files. This could be a hint to find .pyd files with
a mismatching version. (I'm not sure if some Python/Swig file could identify such a version mis-match).

I've done this for myself on Windows using the already generated lib/gnuradio*.rc files.
Since CMake is a black art to me, I've created some swig/makefile.
E.g. for MSVC in gr-blocks/swig/Makefile:

$(OBJ_DIR)/blocks_swig%.res: ../lib/gnuradio-blocks.rc
      sed -e 's/gnuradio-blocks/_blocks_swig$*/' \
          -e 's/.dll/.pyd/'           < $< > gnuradio-tmp.rc
      rc $(RCFLAGS) -fo $@ gnuradio-tmp.rc

And use those .res files in the link step.

The output from e.g. filever (similar would show up in Explorer):

filever -v _blocks_swig0.pyd
--a-- W32i   DLL ENU         3.7.7.6 shp  1,812,992 10-17-2014 _blocks_swig0.pyd
        Language        0x0409 (Engelsk (USA))
        CharSet         0x04b0 Unicode
        OleSelfRegister Disabled
        FileDescription _blocks_swig0
        InternalName    _blocks_swig0.pyd
        OriginalFilenam _blocks_swig0.pyd
        ProductName     _blocks_swig0
        ProductVersion  3.7.6
        FileVersion     3.7.6
        LegalCopyright  Licensed under GPLv3 or any later version

        VS_FIXEDFILEINFO:
        Signature:      feef04bd
        Struc Ver:      00010000
        FileVer:        00030007:00070006 (3.7:7.6)
        ProdVer:        00030007:00070006 (3.7:7.6)
        FlagMask:       0000003f
        Flags:          00000000
        OS:             00000004 Win32
        FileType:       00000002 Dll
        SubType:        00000008
        FileDate:       00000000:00000000

All this assumes off-course that ../lib/gnuradio-blocks.dll has already been linked.
Maybe the "FileDescription" should contain some more sensible description. Like:
"Python module _blocks_swig0".

Add enable/disable flags to cmake

Make it easy to enable and disable components in cmake. This is to function like the autotools configure such that an enabled component will stop the configuration process if it fails a dependency.

PMT Inconsistencies

I'd say these are bed enough they can be considered a bug. Here it goes:

P = pmt.cons(pmt.to_pmt('foo'), pmt.to_pmt(1))
if pmt.is_dict(P): # (1)
    length = pmt.length(pmt.dict_items(P)) # Fails
    keys = pmt.dict_keys(P) # Obviously fails

It's already annoying that (1) returns true. This makes it impossible to iterate over dicts, because such code doesn't work on pairs.

Implement variable number of inputs and outputs for hierarchical blocks.

It should be possible to declare a hierarchical block to have a variable number of inputs or outputs, similar to how gr_block's behave.

For gr_block derived blocks, a C++ function, 'check_topology' is called during flowgraph initialization to allow the block to learn how many inputs and outputs have been wired to it, validate this is correct, and and perform any needed internal connections to support these values.

The equivalent function call for hierarchical blocks needs to occur earlier in the process, during hierarchical flowgraph flattening. Also, the function call must support calling up into Python to allow Python-defined hierarchical blocks to respond.

WX-based apps will die complaining of C++ assertion m_window failed in GetSize()

It was suggested that I either update an existing bug or submit this as a bug. I have not found reference to "m_window" or GetSize() in the buglist here.

There is a bug in GR with regard to wxPython 3.0 - it will winge about "m_window" and fail in any wxgui.

This only appears in "Debug" build: in "Release" build the application will fail silently.

wx._core.PyAssertionError: C++ assertion "m_window" failed at
./src/gtk/dcclient.cpp(2041) in DoGetSize(): GetSize() doesn't work
without window

There is a workaround for any given application that was here: http://imyy.in/blog/?p=26
However, this particular link is now gone.

The workaround showed how to fix any particular application. I have made this more general by putting it the wxgui top_block::init itself, which looks to fix GR WX widgets without breaking WX in general. The removed "Start()" method looks to be called again after the window is instanced.

$ diff -btwc ../gr-wxgui/grc/top_block_gui.py.orig ../gr-wxgui/grc/top_block_gui.py
*** ../gr-wxgui/grc/top_block_gui.py.orig Mon Jul 7 17:28:59 2014
--- ../gr-wxgui/grc/top_block_gui.py Sat Nov 8 13:02:32 2014


*** 47,52 ****
--- 47,53 ----
self.Add = self._panel.Add
self.GridAdd = self._panel.GridAdd
self.GetWin = self._panel.GetWin

  •             self.Start(False)
    
      def SetIcon(self, *args, **kwargs): self._frame.SetIcon(*args, **kwargs)
    

My baseline and requirements.

  • This is GnuRadio 3.7.5.1 on CentOS 7.0
  • need CentOS/RHEL baseline for a variety of reasons
  • really rather have WX as other code uses it
  • pybombs did not seem to do the job
  • built from gnuradio git sources
  • UHD 3.7.1
  • osmocore and rtl-sdr gr-osmosdr form osmocom.org
  • needs qwt from EPEL repository
  • needs PyQwt from sourceforge

----------- Additional correspondence from the discuss-gnuradio forum:

Can you add this info to the GNU Radio Issue tracker? Look to see if there's an issue open about the WX 3 problem, and if not, add one with what you have here. I can easily test this on WX 2.8, and if it fails, we can try to put in proper checks to do the "right thing" for each version.

Thanks,
Tom

On Mon, Feb 9, 2015 at 9:56 AM, Red Gator [email protected] wrote:
Sorry it's been so long to respond... been mostly "out"...

I have tested this with WX 3.0 and the GR apps. It appears to be a mismatch between the way GR instances and initializes WX 3.0 objects and the way WX expects to be instanced. The ::Start operation is actually done again later, so there is no side effect except exception. Note the exception only shows up in Debug mode... in Release mode GR quietly dies with no diagnostic messages at all (which is IMHO a very annoying behavior). I haven't tried this with WX <3.0.

On Mon, Nov 10, 2014 at 11:05 AM, Tom Rondeau [email protected] wrote:
On Sat, Nov 8, 2014 at 4:39 PM, Red Gator [email protected] wrote:
Just got this limping around.

  • need CentOS/RHEL baseline for a variety of reasons
  • really rather have WX as other code uses it
  • pybombs did not seem to do the job
  • built from gnuradio git sources
  • UHD 3.7.1
  • osmocore and rtl-sdr gr-osmosdr form osmocom.org
  • needs qwt from EPEL repository
  • needs PyQwt from sourceforge
  • There is a bug in GR with regard to wxPython 3.0 - it will winge about "m_window" and fail in any wxgui.

wx._core.PyAssertionError: C++ assertion "m_window" failed at
./src/gtk/dcclient.cpp(2041) in DoGetSize(): GetSize() doesn't work
without window
Yes, we've known about this but not one has submitted a patch to us to fix it.

There is a workaround for any given application here: http://imyy.in/blog/?p=26

It seems that this can be made more general by putting it the wxgui top_block::init itself:

$ diff -btwc ../gr-wxgui/grc/top_block_gui.py.orig ../gr-wxgui/grc/top_block_gui.py
*** ../gr-wxgui/grc/top_block_gui.py.orig Mon Jul 7 17:28:59 2014
--- ../gr-wxgui/grc/top_block_gui.py Sat Nov 8 13:02:32 2014


*** 47,52 ****
--- 47,53 ----
self.Add = self._panel.Add
self.GridAdd = self._panel.GridAdd
self.GetWin = self._panel.GetWin

  •             self.Start(False)
    
      def SetIcon(self, *args, **kwargs): self._frame.SetIcon(*args, **kwargs)
    

Ok, that's great that there seems to be a fix out there for the WX 3.0 problem. Will this cause any other side effects in the applications? Will it work for WX < 3.0?

Tom

Add cmake build process as a parallel build to Autotools

We want to introduce cmake as the main build system and replace autotools. Until the cmake system is completely vetted, we want to add it as a parallel build system. It will become the primary/default build system but we need to make sure that the current autotools build system is left unchanged so anyone experiencing problems with cmake can fall back on it.

Lock/Unlock segfaulting

When lock/unlock is used to do the disconnection/reconnection
in a python top_block, I always get segfaults after at most a couple of
changes when unlock() is called

Here is an example of this behaviour:

sinusoid--> throtle --> (ON or OFF block chosen by a "button chooser") --> null sink

http://web.eecs.umich.edu/~anastas/docs/onoff_flat_test1.py

This is under version: 3.7.2git-79-g931a7b07 / 3.7.2git on a fedora 18 64bit machine

grc hier block message port issues

When generating a hier block with message port outputs/inputs:

  • wildcard pad source/sink blocks generate broken code (needs to be explicitly set to message type or it generates invalid python)
  • optional should probably be enabled by default for message ports

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.