Hi Rob, Thanks for letting us know. We will look into that. It is hard to tell from the error if MPM is doing the work and the RPC call is just timing out or it is failing to execute in MPM altogether. We will try to reproduce it and see what is going on. In the meantime, is it possible for you to use a try/catch block around the set_time_source() call as a workaround?
Regards, Michael On Thu, Sep 20, 2018 at 7:37 AM, Rob Kossler via USRP-users < usrp-users@lists.ettus.com> wrote: > With the latest 3.13 release and the N310, I get an exception when calling > usrp->set_time_source(). It seems that this should just be a warning (or > nothing at all if the requested source is equal to the current source). I > realize that with the N310, it is necessary to set the time source in the > args at object creation. But, I still have instances in my code where I > call the set_time_source() function. It seems to me that if the source is > "internal" and I subsequently call set_time_source("internal"), it > shouldn't be a problem. > > Rob > > > ******** Here is the code needed to generate the exception > uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(args); > usrp->set_time_source("internal"); > > > ******** Here is the result > [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; > UHD_3.13.0.3-0-g85347b89 > [INFO] [MPMD] Initializing 1 device(s) in parallel with args: > mgmt_addr=192.168.61.2,type=n3xx,product=n310,serial= > 315A34B,claimed=False,addr=192.168.61.2 > [WARNING] [MPM.RPCServer] A timeout event occured! > [ERROR] [MPM.RPCServer] Lost claim during API call to `set_time_source'! > [WARNING] [MPM.RPCServer] Attempt to unclaim session with invalid token! > [INFO] [MPM.PeriphManager] init() called with device args > `product=n310,mgmt_addr=192.168.61.2'. > [INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: > 0xF1F0D00000000004) > [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1341 MB/s) > [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1361 MB/s) > [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1348 MB/s) > [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1342 MB/s) > [INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000011312) > [INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000011312) > [INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000002) > [INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000002) > > [ERROR] [UHD] Exception caught in safe-call. > in uhd::mpmd::mpmd_mboard_impl::~mpmd_mboard_impl() > at /home/irisheyes9/uhd/3_13/uhd/host/lib/usrp/mpmd/mpmd_ > mboard_impl.cpp:369 > if (not rpc->request_with_token<bool>("unclaim")) { > uhd::_log::log(uhd::log::warning, "/home/irisheyes9/uhd/3_13/ > uhd/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp", 369, "MPMD", > boost::this_thread::get_id()) << "Failure to ack unclaim!";; } -> > rpc::timeout: Timeout of 2000ms while calling RPC function 'unclaim' > Error: rpc::timeout: Timeout of 2000ms while calling RPC function > 'set_time_source' > irisheyes9@irisheyes9-Z240-SFF:~$ > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com