question

Upvotes
Accepted
301 6 17 27

InvalidUsageException at FieldListInt::shallowMorph

Our customer has reported a crash in RFA API. What is the possible cause of this issue?

The stack trace looks like this:

KERNELBASE.dll!RaiseException+0x3D 
MSVCR120.dll!_CxxThrowException+0xB3 
RFA8_Common120_x64.dll!rfa::common::InvalidUsageExceptionImpl::throwInvalidUsageExceptionImpl+0x158 c:\projects\rfaut\rfaut8.0\common\exception\impl\invalidusageexceptionimpl.cpp line 34 
RFA8_Common120_x64.dll!rfa::common::InvalidUsageException::throwInvalidUsageException+0x1B c:\projects\rfaut\rfaut8.0\common\exception\impl\invalidusageexception.cpp line 32 
RFA8_Data120_x64.dll!rfa::data::FieldListInt::shallowMorph+0x24B c:\projects\rfasl\rfasl8.0\data\fieldlistint.h line 166 
RFA8_Data120_x64.dll!rfa::message::RespMsgInt::setDataInt+0x251 c:\projects\rfasl\rfasl8.0\data\impl\respmsgint.cpp line 95 
RFA8_Data120_x64.dll!rfa::message::RespMsgTranslator::decode+0x49C c:\projects\rfasl\rfasl8.0\data\impl\respmsgtranslator.cpp line 571 
RFA8_Connections_OMM120_x64.dll!rfa::sessionLayer::OMMItemEvent::getMsg+0xD6 c:\projects\rfasl\rfasl8.0\connections\connections_omm\eventsandmessages\impl\ommitemevent.cpp line 101 
RFAProvider.dll!RFAClient::processOMMItemEvent+0x1E c:\build\buildagent\workspace\root\integration\providers\rfaprovider\main\release\base\integration\providers\rfaprovider\rfaclient.cpp line 908 
RFAProvider.dll!RFAClient::processEvent+0x1DE c:\build\buildagent\workspace\root\integration\providers\rfaprovider\main\release\base\integration\providers\rfaprovider\rfaclient.cpp line 810 
RFA8_Common120_x64.dll!rfa::common::EventQueueImpl::dispatch+0x133 c:\projects\rfaut\rfaut8.0\common\event\impl\eventqueueimpl.cpp line 260 
RFAProvider.dll!RFAClient::dispatchThread+0x8F c:\build\buildagent\workspace\root\integration\providers\rfaprovider\main\release\base\integration\providers\rfaprovider\rfaclient.cpp line 1256 
RFAProvider.dll!RFAClient::dispatchThreadStatic+0x9 c:\build\buildagent\workspace\root\integration\providers\rfaprovider\main\release\base\integration\providers\rfaprovider\rfaclient.cpp line 1283
treprfarfa-api
icon clock
10 |1500

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

1 Answer

Upvotes
Accepted
11.3k 25 8 13

The Stack trace indicates that RFA received invalid message data from network and cannot decode data so it threw the Invalid Usage exception.

To investigate the issue, received messages need to be verified, once the issue reoccurs. Please enable and provide us the RSSL tracing message which contains raw data received from network.

Below are RFA configurations to enable the RSSL tracing. You may need to change the Connection_RSSL to the RSSL connection name used in the configuration. The RSSL tracing file would be generated with name format: “<Connection name>_<process id>.xml” in the same directory of the application.

\Connections\Connection_RSSL\traceMsgToFile = true

\Connections\Connection_RSSL\traceMsgDomains = "all"

\Connections\Connection_RSSL\traceMsgMaxMsgSize = 10000000

\Connections\Connection_RSSL\traceMsgMultipleFiles = true

In the past, I have found similar issue. Typically, payload of MarketPrice domain model needs to be Field List data type, so RFA expects to receive the Field List as payload for MarketPrice domain. In that issue, ADS has sent update message containing non field list data, so it causes the issue in consumer side.

icon clock
10 |1500

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

Click below to post an Idea Post Idea