On 2022-04-22 14:59, Mike wrote:
> 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
>
>
You might try running rx_samples_to_file example, writing to the null
device, and see if this same thing happens. That would eliminate your
code as a cause.
No comments:
Post a Comment