Hello,
I have a C++ program running under Red Hat Enterprise Linux 8.5 using
UHD 4.1.0 via radioconda with a B200 that experienced a receive packet
handler exception (see the trace below). The exception occurred after
several days of continuous execution.
I'm looking for the proper steps to debug this problem and ultimately
correct it.
Would the recently announced UHD 4.2.0 correct this problem? Do I need
to fall back to the UHD 3.15, which appears to be more reliable? Could
there be something in my code that could cause this problem?
Thanks!
[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107400;
UHD_4.1.0.HEAD-release
[INFO] [B200] Detected Device: B200
[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.
Setting RX Rate: 50000000.000000...
[INFO] [B200] Asking for clock rate 50.000000 MHz...
[INFO] [B200] Actually got clock rate 50.000000 MHz.
(Code runs for some time)
[ERROR] [STREAMER] The receive packet handler caught a value exception.
ValueError: bad vrt header or packet fragment
[ERROR] [UHD] Exception caught in safe-call.
in virtual tx_vita_core_3000_impl::~tx_vita_core_3000_impl()
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/cores/tx_vita_core_3000.cpp:49
this->clear(); -> AssertionError: accum_timeout < _timeout
in uint64_t b200_radio_ctrl_core_impl::wait_for_ack(bool)
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:228
[ERROR] [UHD] Exception caught in safe-call.
in virtual b200_radio_ctrl_core_impl::~b200_radio_ctrl_core_impl()
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:66
this->peek32(0); _async_task.reset(); -> AssertionError: accum_timeout <
_timeout
in uint64_t b200_radio_ctrl_core_impl::wait_for_ack(bool)
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:228
[ERROR] [UHD] Exception caught in safe-call.
in virtual b200_radio_ctrl_core_impl::~b200_radio_ctrl_core_impl()
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:66
this->peek32(0); _async_task.reset(); -> AssertionError: accum_timeout <
_timeout
in uint64_t b200_radio_ctrl_core_impl::wait_for_ack(bool)
at
/home/conda/feedstock_root/build_artifacts/uhd_1643679623734/work/host/lib/usrp/b200/b200_radio_ctrl_core.cpp:228