question

Upvote
Accepted
16 0 1 2

RFA8_MsgFile142_x64.dll can't be found while running StartConsumer


01.jpg

03.jpg

Hi, Masters: I'm developing a Feed Handler based on our RFA C++ 8.2.2.L1 win-static package - an example of StarterConsumer. In the example, the function "StarterConsumer::init()" has a sentence to write message to log file, it's "_pSession = Session::acquire(_cfgVas.sessionName)", when I set the break point at this sentence, the error occurred. I checked my Visual Studio, the "RFA8_MsgFile142_x64.dll" file had been set. Why it says the file still not be set. I attached the setting to provide some information, could you please help to check what mistake I made, thanks so much! My develop env is: Visual Studio Enterprise 2022, Win10



The log file shows:

RFA Internal failure


Application: StarterConsumer

Process Id: 0x2B64

Thread Id: 0x9B0


File: D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Logger\Impl\NTEventLogAction.cpp

Line: 103


Problem:

Failed to set value to registry key needed by Windows event logger, the system error message is: ¾Ü¾ø·ÃÎÊ¡£


Windows Event logging requires Admin Priviliges. Use the file logger as an alternative.

RFA_VERIFY( !rc ) failed


Stack Trace:

0x00007FF6818FB6B3 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: GenerateStackTrace() + 179 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Common\Support\RFAInternal\Impl\RFAVerify.cpp, line 589

0x00007FF6818FD0B2 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: __RFA_ProblemReport() + 1714 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Common\Support\RFAInternal\Impl\RFAVerify.cpp, line 390

0x00007FF6819C9404 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::logger::NTEventLogAction::registerMessageFile() + 916 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Logger\Impl\NTEventLogAction.cpp, line 103

0x00007FF68196C811 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::logger::ComponentLoggerImpl::init() + 401 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Logger\Impl\ComponentLoggerImpl.cpp, line 493

0x00007FF6818FF913 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::logger::ApplicationLoggerImpl::createComponentLogger() + 707 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfaut\Logger\Impl\AppLoggerImpl.cpp, line 333

0x00007FF68197A35F E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::sessionLayer::SessionLayerPackageClass::initialize() + 559 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfasl\SessionLayer\Session\Impl\SessionLayerPackageClass.cpp, line 104

0x00007FF681907721 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::sessionLayer::SessionImpl::acquireImpl() + 65 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfasl\SessionLayer\Session\Impl\SessionImpl.cpp, line 544

0x00007FF68189DD9A E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: rfa::sessionLayer::Session::acquire() + 42 bytes

D:\Jenkins\workspace\RFACPPDEV_8X\OS\VS142-64\rcdev\source\rfasl\SessionLayer\Session\Impl\Session.cpp, line 16

0x00007FF68187229A E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: StarterConsumer::init() + 1322 bytes

E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\StarterConsumer.cpp, line 171

0x00007FF681875263 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: main() + 115 bytes

E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\StarterConsumer.cpp, line 86

0x00007FF681880DD9 E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: invoke_main() + 57 bytes

D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 79

0x00007FF681880D2E E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: __scrt_common_main_seh() + 302 bytes

D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 288

0x00007FF681880BEE E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: __scrt_common_main() + 14 bytes

D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, line 331

0x00007FF681880E4E E:\ThomsonReuters\RFA\rfa8.2.2.L1.win-static.rrg\Examples\StarterConsumer\Debug_WIN_64_VS142_Static\StarterConsumer.exe: mainCRTStartup() + 14 bytes

D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp, line 17

0x00007FFBE3137034 C:\windows\System32\KERNEL32.DLL: BaseThreadInitThunk() + 20 bytes

0x00007FFBE52226A1 C:\windows\SYSTEM32\ntdll.dll: RtlUserThreadStart() + 33 bytes

c++
01.jpg (225.4 KiB)
03.jpg (20.6 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.

Upvotes
Accepted
52.9k 136 44 63

@zheng.huang1

Sorry for the issue you are facing, let me see if I can help you in resolving this.

That file is available in the RFA package. It is in the rfa8.2.2.L1.win-static.rrg\Libs\WIN_64_VS142 directory. You need to copy it to the working directory of the StarterConsumer example.

1664332445635.png

Otherwise, you need to set the useInternalLogStrings RFA configuration to true.

\Logger\AppLogger\useInternalLogStrings                    = true

I hope this will help.



1664332445635.png (31.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.

Upvotes
16 0 1 2

@Jirapongse Thank you! Copy the dll file to StartConsumer can make it pass the breakpoint.

Where I can find the setting of "useInternalLogStrings "? Which file?

Thanks!

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.

It is an RFA configuration. You can load it from the RFA configuration file (ExampleRFA.cfg) or Windows registry.



Upvotes
16 0 1 2

@Jirapongse One more question, the StartConsumer raised another exceptin:

05.jpg

I set my sessionName in the reg file:

06.jpg

"sessionName"="session1", does it not right?


05.jpg (60.3 KiB)
06.jpg (226.7 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.

Upvotes
52.9k 136 44 63

@zheng.huang1

The example uses two configuration files.

  • Starterconsumer.reg is a Windows registry file containing the example settings
  • ExampleRFA.reg is a Windows register file containing the RFA settings

The session1 is defined in ExampleRFA.reg file.

1664345345937.png


1664345345937.png (7.2 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.

Upvotes
52.9k 136 44 63

@zheng.huang1

RFA is the legacy API. If you start developing an application, please consider using Refinitiv Real-Time SDK - C/C++ instead.

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.