Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
  • RFA /
avatar image
Question by LarryT · Nov 07, 2017 at 09:32 PM · exceptiondecodeFieldListinvalidusagerfacpp

RFA InvalidUsageException when deocode filedlist

Sometime my application crash and RFA throw rfa::common::InvalidUsageException when my RFA application decode FieldList and it calls FieldListReadIterator::start().

Below is call stack:

#6 0x00007f2c04da6f6f in rfa::common::InvalidUsageExceptionImpl::throwInvalidUsageExceptionImpl(rfa::common::Exception::CommonErrorType, rfa::common::Exception::CommonErrorSeverityType, rfa::common::Exception::CommonErrorClassificationType, rfa::common::GeneralExceptionStatus::State, rfa::common::GeneralExceptionStatus::StatusCode, rfa::common::RFA_String const&) ()
from /usr/local/rfa7.6.0.L1.linux/Libs/RHEL6_64_GCC444/libRFA_Common.so
#7 0x00007f2c041cc43e in rfa::data::FieldListReadIterator::start(rfa::data::FieldList const&, unsigned char, rfa::data::FieldListDef*) ()
from /usr/local/rfa7.6.0.L1.linux/Libs/RHEL6_64_GCC444/libRFA_Data.so

What can cause the exception and how to handle the error?

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Reply

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by moragodkrit.chumsri_1 · Nov 07, 2017 at 10:00 PM

@LarryT

-The exception you are experiencing, it could be an issue when the data feed send Refresh or Update which the payload contains invalid or empty FieldList. You should contact data feed support team to verify data at the time the problem occurs. For the application side, basically you can add code to verify if the FieldList you want to decode contains Blank data or not by calling FieldList.isBlank() method.

You may add the codes to verify the data like below sample before decode it and if it’s blank FieldList you may have some code to report the issue to user and then they can contact Data feed support to verify issue on infra side.

-In case of incomplete data inside FieldList you may add try/catch block to catch the invalid usage exception to avoid the crash. That is the way application side can prevent the crash in case of invalid data come from network or data feed.

if (!FieldList.IsBlank)
{
      Try{
            ... Decode FieldList
       }catch(InvalidUsageException ex)
      {
         … Report issue
      }
}else
{
   ... Report issue
}

-If you want to investigate the issue and confirm that what kind of data your application receive, you may try the RIC which you often see the issue with one of Consumer example. And you have to turn on RSSL tracing log in the Consumer example if you can’t turn it on in your application. You can leave it run until your application found the issue again and then you can open the RSSL tracing log which generated by Consumer example to see the data it receive at the time the invalid usage exception occurs.

Please see configuration from the following post to turn on full RSSL tracing log. It will generate RSSLConsumerTrace_<pid>.xml in running directory.

If you could replicate the issue again, we can check the data in RSSL tracing log to confirm that it’s blank FieldList or not and then you can contact data Data feed support team to investigate the issue further.

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
LarryT · Nov 07, 2017 at 10:07 PM 0
Share

Thanks, will add the check in my codes.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
7 People are following this question.

Related Questions

Exceptions on creating OMMProvider

.Net System.AccessViolationException when calling OMMProvider.Submit on a RespMsg containing a status.

Prices in RFA.NET are of type double instead of decimal

What is the best way to decode the OMMMsgs received (e.g. to get prices) when subscribing to a RIC using RFA?

Why the news has a "replacement" character in output after RFA decoding?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges