question

Upvotes
Accepted
3 0 0 2

Issue with RFA fileLoggerFilename config option '{a}' and absolute paths

Hi,

Using rfa8.2.1.L1.linux.rrg C++ on Linux, I have seen that the AppLogger log file is not generated correctly if the application is executed using the full path to the executable.

I have a ValueAdd Consumer application which configures application logging:

\Logger\AppLogger\fileLoggerEnabled  = true
\Logger\AppLogger\fileLoggerFilename = "{a}.rfa.log"

If I execute the application like this:

./TestConsumer

then the log file "TestConsumer.rfa.log" is created as expected.

But if I execute the application using the full path like this:

/the/path/to/the/application/TestConsumer

then either no log file is created, or occasionally a log file with a garbage name like

"ZZZZZZZZZZZZZZZZ\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ������������.rfa.log" is created.

Am I misconfiguring logging somehow, or is there another issue here?

If I run the application under valgrind

valgrind --tool=memcheck --track-origins=yes ./TestConsumer

no errors are reported, but if I run using the full path

valgrind --tool=memcheck  --track-origins=yes /the/path/to/the/application/TestConsumer

then errors like this are reported (full output attached as valgrind-output.txt):

==1234== Conditional jump or move depends on uninitialised value(s)
==1234==    at 0x56F1841: rfa::support::RFA_SearchAndReplace(int, int, char*&, int) (in lib/libRFA_Config.so)
==1234==    by 0x56F1A7C: rfa::support::RFA_FormatOptionString(char const*, char*, unsigned int) (in lib/libRFA_Config.so)
==1234==    by 0x56F1C7F: rfa::support::RFA_CreateDirectory(char const*, char*, unsigned int, bool) (in lib/libRFA_Config.so)
==1234==    by 0x591BDC4: rfa::logger::FileLogAction::init(rfa::common::RFA_String const&, long) (in lib/libRFA_Logger.so)
==1234==    by 0x591BFD3: rfa::logger::FileLogAction::FileLogAction(rfa::common::RFA_String const&, long) (in lib/libRFA_Logger.so)
==1234==    by 0x591779E: rfa::logger::ApplicationLoggerImpl::ApplicationLoggerImpl(rfa::common::ComponentName const&, rfa::config::ConfigTree const*) (in lib/libRFA_Logger.so)
==1234==    by 0x5917BFA: rfa::logger::ApplicationLoggerImpl::acquireImpl(rfa::common::RFA_String const&) (in lib/libRFA_Logger.so)
==1234==    by 0x6315198: rfa::valueAdd::admin::AdminCore::init() (in lib/libRFA_ValueAdd.so)
==1234==    by 0x63181DB: rfa::valueAdd::admin::ConsumerCore::initialize() (in lib/libRFA_ValueAdd.so)
==1234==    by 0x404D72: main (TestConsumer.cpp:49)
==1234==  Uninitialised value was created by a stack allocation
==1234==    at 0x56F171C: rfa::support::RFA_SearchAndReplace(int, int, char*&, int) (in lib/libRFA_Config.so)


rfalinuxlogging
valgrind-output.txt (13.8 KiB)
icon clock
10 |1500

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

Hi @Richard.McCarthy

This is a private comment to you (because it contains your company information).

I can see these are the ICAP - RDC named users who can submit a query to RDC:

ian.reynolds@icap.com grant.webster@icap.com tony.bristow@icap.com mehmet.dinch@icap.com mark.prior@icap.com paul.smith@icap.com james.joyce@icap.com ed.astle@icap.com j.becker@de.icap.com John.Roberts@icap.com g.reimer@icap.com


Here is the "Contact premium support" button on the RFA C++ product page.

1658717745447.png


If you don't see it or if you don't have access to the RFA C++ product page,

you can get consent (to allow you to raise a case to RDC on their behalf) from any named users in your organization from the user list above.

The consent can be in email format.

Once you have the consent from the named user, you can contact RDC at enterpriseplatform.apisupport@lseg.com ,

please also include the consent email.

Then RDC will create a ticket on your behalf and will investigate the case with you.

That's great, thanks for the info.

hi @Richard.McCarthy ,

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?
If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,
AHS

1 Answer

· Write an Answer
Upvotes
Accepted
79.1k 250 52 74

@Richard.McCarthy

Thank you for reporting this issue.

According to your investigation, it looks like to a bug in the API.

Please contact RDC (Refinitiv Developer Connect) contacts in your company to submit this issue to the API support team for further investigation. RDC contacts can access Contact Premium Support on the RFA C++ product page to submit a ticket to the API support team.

Sorry for this inconvenience.

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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