question

Upvotes
1 0 0 1

System.AccessViolationException in RFA8_NET120_x64.dll (RFA.Config.ConfigDatabase)

I'm using RFA8 API for C# to subscribe a set of RICs during only a period of time (8 am to 6pm).

Eventually, at 6pm I cleanup everything to prepare for a new subscription at 8am on the following day. The problem is that 2 hours after the new subscription (more or less) the program crashes with an System.AccessViolationException in RFA8_NET120_x64.dll. From the stacktrace, it comes from RFA.Config.ConfigDatabase.

I already tried to Relase the RFA Configuration and Load it again, but the problem continues. Only the first day everything works fine. But on the second day, the problem occurs.

Is someone had the same problem?

treprfarfa-api
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
24.6k 86 10 22

Can you detail exactly what you do as part of your cleanup process at 6pm? And also what you do as part of your new subscription process at 8am the next day?

As an aside - have you considered Pausing the data streams at 6pm and then resuming at 8am next morning? See section 3.2.1.7 Pause/Resume of your RFA.Net Developer guide.pdf file.

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
1 0 0 1

My cleanup process is something like this:

OMMConsumer.UnregisterClient(0);
RFAEventQueue.Deactivate();
OMMConsumer.UnregisterClient(tLoginHandleID);
OMMConsumer.Destroy();
RFASession.Release();
RFAEventQueue.Destroy();
RFAConfigDatabase.Release();

if ((!Context.Uninitialize()) && (Context.InitializedCount == 0))
return false;

And for the new subscription I do exactly as the first time, which is the initialization of the RFAConfiguration, RFASession, OMMConsumer, Decoder and Subscribe all RICs again.

At least, the code of initialization is right, since it always works on the first day. The problem relies when there is a cleanup. After the cleanup, everything looks ok, but a few hours later, I get the error.

PS: Actually I considered using Pause/Resume, but since my program works for a whole day, I choose to initialize and cleanup everything everytime.

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
24.6k 86 10 22

Hi @Yugo,

Can you please confirm which exact version of RFA.NET you are using?

If you are using rfanet8.0.0.L1.win then it may be worth upgrading to the latest emergency release rfanet8.0.1.E1.win

According to the E1 readme file there has been an issue related to access violation during Cleanup of OMMConsumer which was fixed in E1 release.

Although, this does not sound exactly like your issue - it may be related.

If after upgrading to E1 (or you are already using it) you continue to have a problem, I recommend you contact our Developer Support team to diagnose this issue offline using the https://my.thomsonreuters.com/ContactUsNew service.

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.

I was already using rfanet8.0.1.E1. I'll contact the support team. Thanks!