Looked around on this mailing list and couldn’t find an explanation, but I’m running in to random exceptions being thrown sometimes in my C++ I/Q recorder application. I can’t seem to replicate it with the example code found in “rx_samples_to_file”. Using g++ (Ubuntu 9.4.0-1ubuntu1\~20.04.1) 9.4.0.
Code can be found here: https://github.com/cwozny/sdr_channelizer/blob/b3d96675e79b0e9d1e469c51dd45b1396432829b/cpp/record_iq_usrp.cpp Here is the output which happens sometimes, but not all of the time (cmd line arguments are specifying to record 152.6 MHz at 60 Msps, 60 dB gain, 56 MHz IF bandwidth, with a buffer size of 0.5 seconds and to run for 10 seconds): `XXXXX:~/workarea/sdr_channelizer/cpp$ ./a.out 152.6 56 60 60 0.5 10` `[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.2.0.HEAD-0-g321295fb` `[INFO] [B200] Detected Device: B200mini` `[INFO] [B200] Operating over USB 3.` `[INFO] [B200] Initialize CODEC control...` `[INFO] [B200] Initialize Radio control...` `[INFO] [B200] Performing register loopback test... ` `[INFO] [B200] Register loopback test passed` `[INFO] [B200] Setting master clock rate selection to 'automatic'.` `[INFO] [B200] Asking for clock rate 16.000000 MHz... ` `[INFO] [B200] Actually got clock rate 16.000000 MHz.` `FPGA version: ` `Firmware version: pp�0�` `Using B200mini serial number ` `Frequency = 152.6 MHz` `[INFO] [B200] Asking for clock rate 60.000000 MHz... ` `[INFO] [B200] Actually got clock rate 60.000000 MHz.` `Sample Rate = 60 Msps` `Bandwidth = 56 MHz` `Disabled automatic gain control` `Gain = 60 dB` `[ERROR] [UHD] Exception caught in safe-call.` ` in ~tx_vita_core_3000_impl` ` at XXXXX/workarea/uhd/host/lib/usrp/cores/tx_vita_core_3000.cpp:49` `this->clear(); -> AssertionError: accum_timeout < _timeout` ` in wait_for_ack` ` at XXXXX/workarea/uhd/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:227` `[ERROR] [UHD] Exception caught in safe-call.` ` in ~b200_radio_ctrl_core_impl` ` at XXXXX/workarea/uhd/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:65` `this->peek32(0); _async_task.reset(); -> AssertionError: accum_timeout < _timeout` ` in wait_for_ack` ` at XXXXX/workarea/uhd/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:227` `[ERROR] [UHD] Exception caught in safe-call.` ` in ~b200_radio_ctrl_core_impl` ` at XXXXX/workarea/uhd/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:65` `this->peek32(0); _async_task.reset(); -> AssertionError: accum_timeout < _timeout` ` in wait_for_ack` ` at XXXXX/workarea/uhd/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:227` When the application doesn’t throw this error and runs to execution, it will **always** display “Bus error (core dumped)” after it prints out the number of overruns that occurred. Unsure if that is related or not. Here is an example of it running to completion, but throwing the bus error at the end: `XXXXX:~/workarea/sdr_channelizer/cpp$ ./a.out 152.6 56 60 60 0.3 10` `[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.2.0.HEAD-0-g321295fb` `[INFO] [B200] Detected Device: B200mini` `[INFO] [B200] Operating over USB 3.` `[INFO] [B200] Initialize CODEC control...` `[INFO] [B200] Initialize Radio control...` `[INFO] [B200] Performing register loopback test... ` `[INFO] [B200] Register loopback test passed` `[INFO] [B200] Setting master clock rate selection to 'automatic'.` `[INFO] [B200] Asking for clock rate 16.000000 MHz... ` `[INFO] [B200] Actually got clock rate 16.000000 MHz.` `FPGA version: ` `Firmware version: �` `Using B200mini serial number ` `Frequency = 152.6 MHz` `[INFO] [B200] Asking for clock rate 60.000000 MHz... ` `[INFO] [B200] Actually got clock rate 60.000000 MHz.` `Sample Rate = 60 Msps` `Bandwidth = 56 MHz` `Disabled automatic gain control` `Gain = 60 dB` `Received 18000960` `Gain = 59 dB` `Received 18000570` `Gain = 58 dB` `Received 18000525` `Received 18000206` `Received 18000475` `Received 18000848` `Received 18000572` `Received 18000386` `Received 18001343` `Received 18000548` `Received 18000222` `Received 18000420` `Received 18000553` `Received 18000247` `Received 18000365` `Received 18000567` `Received 18000261` `Received 18000336` `Received 18000582` `Received 18000305` `Gain = 57 dB` `Received 18000874` `Received 18000711` `Received 18000311` `Received 18000868` `Received 18000378` `Received 18000096` `Received 18000653` `Received 18000582` `Received 18000450` `Received 18000517` `Received 18001303` `Received 18000844` `Received 18000571` `Received 18001314` `Disabled RX` `There were 0 overruns.` `Bus error (core dumped)` Has anyone run in to this before?
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com