0

I have GNURadio (and Companion) installed on my RPi. Everything seems to work fine except when I want to use one of the blocks associated with a SDR dongle. When I try to execute the flow graph I get: "Error in '/usr/bin/python': corrupted double-linked list 0x02272ff8 ***"

I have done a lot of searching and see that others have had this problem but no solutions have been posted.

Further more, I can run another program that I believe uses GNURadio blocks and it accesses the SDR Dongle and works correctly. The program is gqrx. It requires GNURadio to be installed so I assume it uses GNURadio.

How can I get this to work?

PeteC
  • 129
  • 1
  • 11
  • how did you install? This sounds like a Python binding problem leading to a bug (where memory is freed twice). – Marcus Müller Mar 03 '19 at 16:03
  • I used this: https://raspberrypi.stackexchange.com/questions/9558/how-to-install-gnuradio-on-raspberry-pi – PeteC Mar 03 '19 at 20:19
  • hm; interesting. That *should* work, though the version is pretty dated, IIRC. – Marcus Müller Mar 03 '19 at 20:23
  • I am really new to GNURadio and RPi and Python. How would I go about researching this. Searching for the phrase is useless. – PeteC Mar 03 '19 at 23:11
  • Good question. Truth be told, we could help you try to figure out what breaks, but the solution to that problem would (amongst other things) definitely require rebuilding GNU Radio – and the RPi isn't up to that (too little RAM), so you'd have to do a cross-compile; all things that I'd like to avoid having you to go through, because I don't hate people. But you could start by posting your flow graph here – maybe I come up with a better idea. – Marcus Müller Mar 04 '19 at 08:24
  • #1 How do I post a flow graph? #2, ultimately I will want to build a free standing program that performs the same operations as in the flow graph (rtl-sdr>FIR filter>I/Q samples>my code). Maybe I should give up on GNURadio and somehow go directly to implementing the blocks but I don't know how to do that. – PeteC Mar 04 '19 at 21:23
  • that's *exactly* what GNU Radio is for :) And if you ask me, as GNU Radio programmer, you should wrap your code directly in GNU Radio. – Marcus Müller Mar 04 '19 at 21:34
  • A flow graph is just an XML file. You can easily post it e.g. to gist.github.com – Marcus Müller Mar 04 '19 at 21:34
  • I assume you meant a .py file. I uploaded it to: https://gist.github.com/PeteCal/36a1d9970b1b6690e4f173b8f22951a8 On a RPi it gives the "crossed link" error using GRC. Using IDLE (2.7) it just restarts the shell. Note it also throws a XInitThreads failure but everybody seems to get that and they say it isn't a problem. Also, it runs fine on my Windows desktop. – PeteC Mar 05 '19 at 03:23
  • As for "wrapping" my code in GNU Radio, I am pretty sure I will get that cross link error. – PeteC Mar 05 '19 at 03:27
  • Nope, didn't mean the .py file, meant the .grc file :) I don't know what your code does, but what I was trying to say is: GNU Radio is basically just a program that allows you to write your own signal processing steps and put them into "blocks", and connect them, and have GNU Radio take care of how the data is exchanged between these blocks; it also comes with a tool to set up connected flow graphs of these blocks (the GNU Radio companion) and a library of stock blocks. You've been using the latter two parts so far :) – Marcus Müller Mar 05 '19 at 07:12
  • So, having looked at your python (.py) code, this incorporates a graphical sink, which can be quite a complicated beast. Can you try whether the same error happens if you just rtl_source -> Null_sink? – Marcus Müller Mar 05 '19 at 07:14
  • Sorry, now I uploaded the .grc file to https://gist.github.com/PeteCal/c68bdba592b964c7e701a1c48bea8e9e I have isolated the problem to the RTL-SDR block. On a RPi I disabled the RTL-SDR block and replaced it with a cosine source. It runs every time and the graphic sync displays the cosine wave. If I disable the cosine source and enable the RTL-SDR I get the failure (on RPi but not on windows desktop). – PeteC Mar 05 '19 at 17:34

0 Answers0