RFA C++ client hung

sbhat
sbhat Newcomer

We had this issue over 3 times where rfa core went into a wait-forever scenario where it was trying free up memory for internal event queue due to slow consumer or whatever reason. We highly suspect it is waiting on a consumed event to be consumed so it's never going to happen. We have not seen any disconnection or error.. just that it stopped updating market data.

#0 0x00007f4c62d91a6c in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f4c62d8c783 in pthread_mutex_lock () from /lib64/libpthread.so.0 #2 0x00000000006b34ae in rfa::common::EventQueueImpl::decrementCount() () #3 0x000000000083d034 in rfa::common::HandleImpl::cleanUp() () #4 0x00000000007f8b8e in rfa::support::RecyclableMgr::disposeRecyclableObject(rfa::support::RecyclableObject*) () #5 0x000000000077dfc0 in rfa::common::HandleTableImpl::deallocateHandleImpl(rfa::common::HandleImpl*) () #6 0x000000000088213b in rfa::sessionLayer::OMMItemEventImplMsg::cleanup() () #7 0x0000000000882229 in rfa::sessionLayer::OMMItemEventImplMsg::dispose() () #8 0x00000000006b4069 in rfa::common::EventQueueImpl::dispatch(long) ()

Tagged:

Best Answer

  • The case is now closed. The solution has been provided to improve event processing and avoid mutex lock. After testing the new implementation, it seems to help resolve the issue.

Answers

  • @sbhat

    Apologize for the late response. I have reviewed the call stack and it quite hard to pinpoint possible issues based on the call stack. However, there is some case that users put the codes to destroy the event queue or destroy the RFA object in the destructor of their class and it can cause unexpected behavior when the application deletes the object and shows a similar call stack. I believe that the root cause may relate to some specific workflow and it requires further investigation by RDC API Support.

    Note that RDC is a subscription-based support service and basically you can contact RDC subscribers inside your company in order to submit a new case to the RDC API support team via Contact Premium Support at

    https://developers.refinitiv.com/en/api-catalog/thomson-reuters-enterprise-platform/robust-foundation-api-rfa-c--


    Anyway, I just found that you already opened a case with the Help desk team, we will therefore refer the issue to RDC API Support so that they can help you investigate the issue further.