Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

Subscription mode. Catastrophic failure error -> blocked Subscribe/Unsubscribe

More
02 Mar 2020 12:55 #8255 by support
Will investigate. Do not send further call stacks until further notice. Analyzing each of them is hours worth of work.

Please Log in or Create an account to join the conversation.

More
02 Mar 2020 10:43 #8253 by Andriy
Hello,

I'm still having problem when reconnecting to opc da servers. The opc library is stuck somewhere.
It's only solved by restarting my application.
QuickOPC build 5.56.1073.1

File Attachment:

File Name: threads_sh...list.txt
File Size:10 KB

File Attachment:

File Name: threads_ca...acks.txt
File Size:150 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
17 Feb 2020 20:01 #8229 by support
Will investigate.

Please Log in or Create an account to join the conversation.

More
14 Feb 2020 13:42 #8225 by Andriy
Hello,

I removed my "opc server stuck" detection logic and upgraded opc library to version 5.56.1055.1.
It still does not work. It looks like we have a similar problem.
Can you investigate opc threads call stacks?

I'm planing to upgrade opc library to last available version 5.56.1073 and add "opc server stuck" detection logic.
Regards

File Attachment:

File Name: threads_sh...2.20.txt
File Size:11 KB

File Attachment:

File Name: threads_ca...2.20.txt
File Size:159 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
07 Feb 2020 11:41 #8209 by Andriy
Hello

I have updated the opc library to the version 5.56.1055.1. It should run several days to be sure that the problem is solved.
I also changed shared parameters on the EasyDAClient class as you recommended before. I got an exception when applying them after the first instance of EasyDAClient class was created.
I have registered a separate topic
Change shared parameters causes exception

Regards

Please Log in or Create an account to join the conversation.

More
01 Feb 2020 13:20 #8194 by support
I have made a change in which unexpected conditions while disconnecting should not result in a hang. This is, however, not a proper solution, because I still do not know what this unexpected condition might have been. But it is worth trying, being the best I can offer at this moment.

The fix is is in the latest QuickOPC 2019.2, build 5.56.1055.1 or later.

Regards

Please Log in or Create an account to join the conversation.

More
30 Jan 2020 08:17 #8181 by support
We will prepare a new (patched) build and and I will make a new post here when it is ready. There currently isn't a useful logging we can turn on; debug symbols could be useful if we knew what the original cause was, but not that much at the point of hang, as for that moment the information I have from the call stack is enough .

The item counts are quite high. In any case (independent of the fix), I recommend that you also do this:
              EasyDAClient.ClientParameters.LinkCallbackQueueSize = 500000;
              EasyDAClient.ClientParameters.RequestQueueSize = 500000;
              EasyDAClient.ClientParameters.ResponseQueueSize = 500000;
              EasyDAClient.EngineParameters.TopicLruSize = 500000;
              EasyDAClient.EngineParameters.DefaultEventQueueSize = 500000;
These are all static parameters on the EasyDAClient class that need to be set once, before a first instance of it is created.

Best regards

Please Log in or Create an account to join the conversation.

More
27 Jan 2020 17:30 #8174 by Andriy
Hello

it is very hard to count the number of opc items my application has subscribed to. it is about 20K -30K items, maybe more.
You can provide opc library debug symbols file or patch file to understand/verify your idea. If opc library supports debug logging I can enable it also.
Unfortunately this problem happens on the customer site

Best regards

Please Log in or Create an account to join the conversation.

More
27 Jan 2020 17:03 #8173 by support
Hello.

I have analyzed the call stacks. I do not see a true deadlock (two locks taken on two threads in reverse order). But most of the threads seem to be waiting for a "disconnect to happen on a particular server, and I do not see the thread that should be "working" on the disconnect. So in that sense, it is understandable that things get blocked.

But the question is, where is the thread that should have been working on the disconnect? It looks like that it is gone before it had a chance to notify the other thread (that is waiting on it) that the disconnect has been finished. I do not know the reason for that. I can guess that it has abnormally terminated - and that would be the true issue that we need to hunt. I am thinking that, just as a precaution, maybe I can add some code that would assure that the waiting thread is always notified. Need to think this through.

A question: How many items are you dealing with, roughly?

Regards

Please Log in or Create an account to join the conversation.

More
23 Jan 2020 14:23 #8165 by support
I started to work on it but got distracted; it is complicated and needs uninterrupted to focus on. I hope to do continue on it over this coming weekend.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.068 seconds