Fedora 18 - Gnuradio 3.7.1 - terminate called after throwing an instance of 'uhd::runtime_error'

894 views
Skip to first unread message

goo...@zx.scrapping.cc

unread,
Oct 7, 2013, 5:26:00 AM10/7/13
to gq...@googlegroups.com

I've recently upgraded to fedora 18 and with that used the latest build-gnuradio to pull down and install gnuradio.

I'm using a USRP1 and have checked it against the gnuradio examples to confirm everything is functioning correctly and from what I can tell the USRP1 is fine.

I compiled from source gqrx and tried to execute it but end up with the following error:

linux; GNU C++ version 4.7.2 20121109 (Red Hat 4.7.2-8); Boost_105000; UHD_003.005.004-138-g8521c392

gr-osmosdr v0.1.0-23-g6f4e16ff (0.1.1git) gnuradio 3.7.1
built-in source types: file fcd rtl rtl_tcp uhd hackrf
Using Volk machine: sse4_2_64_orc
QLayout: Attempting to add QLayout "" to DockInputCtl "DockInputCtl", which already has a layout
gr-osmosdr v0.1.0-23-g6f4e16ff (0.1.1git) gnuradio 3.7.1
built-in source types: file fcd rtl rtl_tcp uhd hackrf
-- Opening a USRP1 device...
-- Using FPGA clock rate of 64.000000MHz...
-- Using subdev spec 'B:0'.
terminate called after throwing an instance of 'uhd::runtime_error'
  what():  RuntimeError: Cannot get() on an empty property

[1]    16632 abort      ./gqrx


Any tips on where I could start hunting down the bug or commands I could run would be great, as this is a awesome application and I'm lost without it!

Alexandru Csete

unread,
Oct 7, 2013, 2:00:04 PM10/7/13
to gq...@googlegroups.com
Did you remove the previous gnuradio installation before upgrading?
Otherwise you probably have some old gnuradio/uhd/gr-osmosdr libraries
spooking around.

Alex

goo...@zx.scrapping.cc

unread,
Oct 8, 2013, 5:09:07 AM10/8/13
to gq...@googlegroups.com
I went and deleted anything todo with gnuradio and started fresh and unfortunately no luck. I'm trying to build another box that hasn't had gnuradio on it to see if I can replicate the issue in the mean time from the ldd I can't see anything linked to a old gnuradio library.

ldd ./build/gqrx
    linux-vdso.so.1 =>  (0x00007ffff11e2000)
    libboost_system.so.1.50.0 => /lib64/libboost_system.so.1.50.0 (0x00007fb6c1daf000)
    libboost_program_options.so.1.50.0 => /lib64/libboost_program_options.so.1.50.0 (0x00000034b1a00000)
    librt.so.1 => /lib64/librt.so.1 (0x000000351c600000)
    libpulse-simple.so.0 => /lib64/libpulse-simple.so.0 (0x00000034b2200000)
    libpulse.so.0 => /lib64/libpulse.so.0 (0x00000034b6000000)
    libgnuradio-analog-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-analog-3.7.1.so.0.0.0 (0x00007fb6c1b27000)
    libgnuradio-filter-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-filter-3.7.1.so.0.0.0 (0x00007fb6c1851000)
    libgnuradio-fft-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-fft-3.7.1.so.0.0.0 (0x00007fb6c1636000)
    libgnuradio-osmosdr-0.1.1git.so.0.0.0 => /usr/local/lib64/libgnuradio-osmosdr-0.1.1git.so.0.0.0 (0x00007fb6c13ac000)
    libgnuradio-blocks-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-blocks-3.7.1.so.0.0.0 (0x00007fb6c0f6b000)
    libgnuradio-runtime-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-runtime-3.7.1.so.0.0.0 (0x00007fb6c0ca8000)
    libgnuradio-pmt-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-pmt-3.7.1.so.0.0.0 (0x00007fb6c0a61000)
    libQtSvg.so.4 => /lib64/libQtSvg.so.4 (0x0000003d35a00000)
    libQtGui.so.4 => /lib64/libQtGui.so.4 (0x0000003d31e00000)
    libQtCore.so.4 => /lib64/libQtCore.so.4 (0x000000301fc00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x000000351c200000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x000000351d200000)
    libm.so.6 => /lib64/libm.so.6 (0x000000351ba00000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000351ce00000)
    libc.so.6 => /lib64/libc.so.6 (0x000000351b600000)
    /lib64/ld-linux-x86-64.so.2 (0x000000351b200000)
    libjson.so.0 => /lib64/libjson.so.0 (0x000000353e600000)
    libpulsecommon-2.1.so => /usr/lib64/pulseaudio/libpulsecommon-2.1.so (0x00000034b5c00000)
    libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x000000352b000000)
    libX11.so.6 => /lib64/libX11.so.6 (0x000000351da00000)
    libxcb.so.1 => /lib64/libxcb.so.1 (0x000000351e200000)
    libICE.so.6 => /lib64/libICE.so.6 (0x0000003520e00000)
    libSM.so.6 => /lib64/libSM.so.6 (0x00007fb6c0854000)
    libXtst.so.6 => /lib64/libXtst.so.6 (0x0000003537400000)
    libwrap.so.0 => /lib64/libwrap.so.0 (0x000000353e200000)
    libsndfile.so.1 => /lib64/libsndfile.so.1 (0x000000353f200000)
    libasyncns.so.0 => /lib64/libasyncns.so.0 (0x000000353ee00000)
    libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003523e00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x000000351be00000)
    libvolk.so.0.0.0 => /usr/local/lib64/libvolk.so.0.0.0 (0x00007fb6c0553000)
    libboost_date_time-mt.so.1.50.0 => /lib64/libboost_date_time-mt.so.1.50.0 (0x0000003d12a00000)
    libboost_program_options-mt.so.1.50.0 => /lib64/libboost_program_options-mt.so.1.50.0 (0x00007fb6c02e9000)
    libboost_filesystem-mt.so.1.50.0 => /lib64/libboost_filesystem-mt.so.1.50.0 (0x0000003d12e00000)
    libboost_system-mt.so.1.50.0 => /lib64/libboost_system-mt.so.1.50.0 (0x0000003532000000)
    libboost_thread-mt.so.1.50.0 => /lib64/libboost_thread-mt.so.1.50.0 (0x0000003536400000)
    liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x000000353a800000)
    libfftw3f.so.3 => /lib64/libfftw3f.so.3 (0x0000003520800000)
    libfftw3f_threads.so.3 => /lib64/libfftw3f_threads.so.3 (0x0000003d13c00000)
    libgnuradio-iqbalance.so => /usr/local/lib64/libgnuradio-iqbalance.so (0x00007fb6c00d8000)
    libgnuradio-fcd-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-fcd-3.7.1.so.0.0.0 (0x00007fb6bfec3000)
    librtlsdr.so.0 => /usr/local/lib/librtlsdr.so.0 (0x00007fb6bfca9000)
    libgnuradio-uhd-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-uhd-3.7.1.so.0.0.0 (0x00007fb6bfa7a000)
    libuhd.so.003 => /usr/local/lib64/libuhd.so.003 (0x00007fb6bf3d1000)
    libhackrf.so.0 => /usr/local/lib/libhackrf.so.0 (0x00007fb6bf1cb000)
    libz.so.1 => /lib64/libz.so.1 (0x000000351ca00000)
    libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000351ea00000)
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x000000351d600000)
    libpng15.so.15 => /lib64/libpng15.so.15 (0x00007fb6befa0000)
    libfreetype.so.6 => /lib64/libfreetype.so.6 (0x0000003d31600000)
    libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x000000351f600000)
    libXi.so.6 => /lib64/libXi.so.6 (0x0000003522a00000)
    libXrender.so.1 => /lib64/libXrender.so.1 (0x0000003521a00000)
    libXrandr.so.2 => /lib64/libXrandr.so.2 (0x0000003522200000)
    libXfixes.so.3 => /lib64/libXfixes.so.3 (0x0000003522e00000)
    libXcursor.so.1 => /lib64/libXcursor.so.1 (0x0000003523200000)
    libXinerama.so.1 => /lib64/libXinerama.so.1 (0x0000003522600000)
    libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x0000003d31a00000)
    libXext.so.6 => /lib64/libXext.so.6 (0x000000351e600000)
    libXau.so.6 => /lib64/libXau.so.6 (0x000000351de00000)
    libuuid.so.1 => /lib64/libuuid.so.1 (0x00000034b1600000)
    libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003539c00000)
    libgsm.so.1 => /lib64/libgsm.so.1 (0x000000353cc00000)
    libFLAC.so.8 => /lib64/libFLAC.so.8 (0x000000353d600000)
    libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x000000353d000000)
    libvorbis.so.0 => /lib64/libvorbis.so.0 (0x0000003539400000)
    libogg.so.0 => /lib64/libogg.so.0 (0x0000003538c00000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x000000351fe00000)
    libboost_chrono-mt.so.1.50.0 => /lib64/libboost_chrono-mt.so.1.50.0 (0x0000003536800000)
    libgnuradio-audio-3.7.1.so.0.0.0 => /usr/local/lib64/libgnuradio-audio-3.7.1.so.0.0.0 (0x00007fb6bed77000)
    libusb-1.0.so.0 => /lib64/libusb-1.0.so.0 (0x0000003525800000)
    libasound.so.2 => /lib64/libasound.so.2 (0x000000353c000000)
    libboost_regex-mt.so.1.50.0 => /lib64/libboost_regex-mt.so.1.50.0 (0x0000003d13200000)
    libboost_unit_test_framework-mt.so.1.50.0 => /lib64/libboost_unit_test_framework-mt.so.1.50.0 (0x0000003d13600000)
    libffi.so.5 => /lib64/libffi.so.5 (0x000000351f200000)
    libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003521200000)
    libicuuc.so.49 => /lib64/libicuuc.so.49 (0x0000003525400000)
    libicui18n.so.49 => /lib64/libicui18n.so.49 (0x000000353ac00000)
    libicudata.so.49 => /lib64/libicudata.so.49 (0x000000352b400000)

Alexandru Csete

unread,
Oct 8, 2013, 9:00:04 AM10/8/13
to gq...@googlegroups.com
Ok, then I have no idea what is wrong. It could be a bad combination
of gr-osmosdr / libuhd since it is apparently there it blows up. I
haven't tested USRP support since the released versions and I don't
have time to look into this right now.

You can try to use the osmosdr source in the gnuradio-companion and
see if it gives the same error.
You can also try to build gqrx using the CONFIG+=debug option during
qmake and see if it gives any hints.

PS: I am assuming that the device string you are using is one that
used to work before the upgrade.

Alex
> --
> You received this message because you are subscribed to the Google Groups
> "Gqrx SDR" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to gqrx+uns...@googlegroups.com.
> To post to this group, send email to gq...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gqrx/77e23f27-e842-4642-b2a7-b6e15448af82%40googlegroups.com.
>
> For more options, visit https://groups.google.com/groups/opt_out.
Message has been deleted

goo...@zx.scrapping.cc

unread,
Oct 20, 2013, 5:37:20 AM10/20/13
to gq...@googlegroups.com
I finally got around to building a clean fedora 18 in virtualbox and unfortunately the same error so I moved onto ubuntu LTS but again same error. So I guess it looks like somthing funky is going on in the UHD side of things with gqrx I guess. Again just based on that the USRP1 is working with normal gnuradio examples (i.e. the FM radio example code). I'll keep playing and hopefully somthing will end up working ;) if I find anything I'll post it back else if anyone has any other ideas or there USRP1 is working?

Darren Long

unread,
Oct 20, 2013, 6:09:17 AM10/20/13
to gq...@googlegroups.com

I've been having the same problem with my USRP B100 and gqrx on Ubuntu.
This machine has only ever had gr 3.7 on it. I've not had any other
issues with the USRP/UHD in other utilities that use the gr-osmosdr
interface and gqrx is working fine with the HackRF. This with gnuradio
et al built from master on 13th Oct and current git master for gqrx.

Cheers,

Darren, G0hWW

Alexandru Csete

unread,
Oct 20, 2013, 9:54:51 AM10/20/13
to gq...@googlegroups.com
Thanks for the info. It sounds like it is a problem with gqrx - or
some API call used by gqrx but not by grc. This led me to suspect the
analog bandwidth setting that we started to support quite recently.
Maybe an incorrect parameter causes a crash in UHD.

I don't have time to test right now, but if any of you wants to try,
you can simply uncomment line 275 in applications/gqrx/receiver.cpp:
https://github.com/csete/gqrx/blob/master/applications/gqrx/receiver.cpp#L275
and recompile.

Alex
> --
> You received this message because you are subscribed to the Google Groups
> "Gqrx SDR" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to gqrx+uns...@googlegroups.com.
> To post to this group, send email to gq...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gqrx/5263ABCD.3060007%40mac.com.

goo...@zx.scrapping.cc

unread,
Oct 21, 2013, 5:55:37 AM10/21/13
to gq...@googlegroups.com
Unfortunately no luck I commented and recompiled but still the same error.

I was playing around with osmocom_spectrum_sense under gr-osmosdr/apps/ and it worked. So it must be some slight parameter with gqrx. I'll try and keep looking...

Thanks again for the help..

Alexandru Csete

unread,
Oct 26, 2013, 7:38:13 PM10/26/13
to gq...@googlegroups.com
It has come to my attention that there is a bug with the new gain
setting mechanism and gqrx will send incorrect gain name in some
cases. When this happens with the UHD it will raise an exception and
crash.

Alex
> https://groups.google.com/d/msgid/gqrx/791c5915-c374-4b7f-b1cc-14c33fab9624%40googlegroups.com.

goo...@zx.scrapping.cc

unread,
Nov 4, 2013, 4:39:42 AM11/4/13
to gq...@googlegroups.com
So I can confirm with the USRP that is the case what I get back from

In receiver.cpp std::vector<std::string> receiver::get_gain_names() I get back as gain names "ADC-pga, PGA0" so in double receiver::get_gain(std::string name) I hard coded "PGA0" to see if that would make a difference and it did. No runtime errors and it loads and runs as expected. So any idea where the ADC-pga name comes from? as a quick hack I think I'll just filter the get_gain_names() function to jsut return the second name...

BTW thanks for the tip, its great to have gqrx loaded up again!

Alexandru Csete

unread,
Nov 4, 2013, 7:16:55 AM11/4/13
to gq...@googlegroups.com
Actually, I've been told that it is a bug in UHD which is why I
haven't done anything about it in gqrx. Expect this to be fixed in UHD
anytime soon.

Alex
> https://groups.google.com/d/msgid/gqrx/0fbd63e4-934a-43f3-9a5f-99e1cb3ee51e%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages