question

Upvotes
1 0 0 0

Exception in Access/Impl/Thread.cpp

We are using the EMA api library for consuming electron MRN, and we have recorded the following message in the log, the API did not raise any exception or call any of the callbacks.

loggerMsg
TimeStamp: 10:49:31.007
ClientName: Consumer_1
Severity: Error
Text: EMA Exception Handler

Application: EMA Application
Process Id: 0x9634

File: Access/Impl/Thread.cpp
Line: 71
Exception occured
loggerMsgEnd

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-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.

Upvotes
20.3k 73 10 20

@shen.yu

Not much to go off, but one thing to eliminate - are you checking each field for Blank Data before attempting to extract the field value?

const FieldEntry& fe = fl.getEntry();
if ( fe.getCode() != Data::BlankEnum )
{
// Extract field value e.g. fe.getReal() / fe.getInt() etc..
}

I have seen a few instances of developers who do not check for blank fields when decoding the FieldList and get an exception...

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.

Upvotes
23k 22 9 14

Hello @shen.yu,

We strive to help.

This is really not much info to go on, which is probably what has resulted in the lack of response from the community.

---

Is there any additional info that you can provide that you think would help us understand the issue?

For example:

Did you see this in the log only once or were there repeat occurrences, did it only happen once?

Can you tell anything of the conditions under which the exception has taken place?

Are you on the latest version of EMA, as many fixes have been built into it, and some issues may not be manifesting anymore?

---

Otherwise, I can see two ways of approaching this issue, which in the interest of saving time I would pursue both heavily and in parallel.

1. I would increase logging "to the hilt". Please refer to EMA Developer Guide section Troubleshooting and Debugging. By default EMA only logs "significant events". In the type of scenario you are looking at, we should try to log everything, to understand what is happening.

2. I would introduce additional application-level output, context specific, to try to narrow down when and where the exception has occurred. And look to reproduce again.

Please let us know how these worked for you.

Thanks,

-Zoya

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.

Hi Zoya,

Thanks for replying. We are using the version 1.1.0 of the API continuously consuming messages for over a year now without any issue. However, starting few weeks ago without any change on our end, we are consistently getting the error above every weekend.

We can try upgrading to the latest version of the API if the version of 1.1.0 is no longer supported.

Thanks,


Shen

Upvotes
23k 22 9 14

Hi @shen.yu ,

EMA is an actively evolving and improving API.

1.1 remains supported. However:

There is a sizeable list of issues that was fixed in general release 1.2, which you may stand to benefit from.

There is already a short list of issues that were fixed after 1.2, and we make them available via github -> electron to developer who really need them. Among them is one issue on uninitialization that is more common then others. Do you, by chance, ununit and reinit on weekend? If that is the case, I would consider not just getting the latest general release but even bypassing general release 1.2 in favor of the very latest, early release of Elektron API on github.

I would, if experiencing an issue, at the first chance move to the latest, not to waste time debugging any fixed issue.

Hopefully you are able to, but in either case I would still, in anticipation of being able to reproduce during the weekend, increase logging and introduce the additional marking output as discussed before, to make progress toward resolving, as your reproducing chance is only over the weekend.

Please keep us posed how this works for you,

-Zoya

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.

Hi Zoya,

Thanks, for the recommendation. We will upgrade to use API 1.2.0 and monitor to see if the same issue persist.

Thanks,

Shen

Upvotes
1 0 0 0

Hi Zoya,

We have upgraded the API 1.2.0, but the issue persist:

loggerMsg
    TimeStamp: 10:54:41.861
    ClientName: Consumer_1
    Severity: Error
    Text:    EMA Exception Handler

Application: EMA Application
Process Id: 0x8C53

File: Access/Impl/Thread.cpp
Line: 71
Exception occured
loggerMsgEnd

For the 5th consecutive weeks, we are getting this every Saturday morning.

Any help would be greatly appreciated, thanks!

Shen

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