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.

The client appears to have stopped running

More
05 Mar 2024 19:41 #12618 by support
I am not sure if I understand correctly. But if you are getting errors through ServerConditionChange, indicate a problem with GetEndpoints function, I would capture a network trace through Wireshark together with the logs of ServerConditionChange or any other significant occurrences in the client program (with timestamps so that they can be correlated with the Wireshark capture).

kb.opclabs.com/Collecting_information_for_troubleshooting

Regards

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

More
05 Mar 2024 12:59 #12617 by xpycy001
Hi support:
This problem has been bothering me all along, and I have been trying to figure out how to solve it recently. Currently, I am not sure where the problem lies, and I am also trying to use exclusion methods to locate the scope

Firstly, I will use one client01 for business collection and write back, while using another console program for subscription only without adding any additional code

At the same time, we also paid attention to the serverconditionchange event and found that when a machine experiences an abnormal disconnection, a large number of logs of disconnection are reported by one machine in almost the same second.

Open tracking with serverconditionchange prompt sourced from the getendpoints() function

Is there any other way to facilitate the investigation and resolution of this difficult problem

Thank you very much

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

More
02 Feb 2024 01:42 #12540 by xpycy001
The DMP file size is large, and attachments cannot be uploaded

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

More
02 Feb 2024 01:39 #12539 by xpycy001
【About program running Info】
1. DataCollect.Client02-DMP01.zip ( OPC UA SDK 5.72.522 ) , 2024/1/23

2. DataCollect.Client02-DMP01.zip ( Update to OPC UA SDK 5.72.1044) , 2024/1/30

3. windows Event : not found any useful info

4. There are a total of 16 clients, of which 4~6 clients frequently experience abnormal stops, with an average of approximately 50-100 opcSrv connections per client

5. Several fixed clients (subscribing to and writing to the specified target OpcServer) often experience abnormal work stoppages (all thread&Task appear to have all stopped)

6. client stopped subscribe & uaClient.WriteMultipleValues(), and other task(thread), including [client.exe] 's WebAPI response、Logger task、Timer of HeartBeat
But the CPU is still floating up and down, OpcUaClient ServerConditionChange() has a small number of logs that persist for 1-2 hours, and there are no more logs afterwards

【Pay close attention to the stop target time point (approximately January 29, 2024 17:51:24) 】
1. (client06.exe) Write the 26 tag values to one of the OpcServer using function: [WriteMultipleValue]

2. No success/failure logs received and record

3. After 3 consecutive attempts (with an interval of 3500ms), a total of 6 operations were written, and there were no more logs afterwards

4 Client.exe setting: ThreadPool.SetMinThreads(150, 100); ThreadPool.SetMaxThreads(2000, 1000); Unlocking the client's DMP file reveals over 2000 tasks

【Adjustment and monitoring】
1) In the code I wrote myself, task information is marked and recorded before and after [task. Run]/[TaskFactory. StartNew()]. After completing the task, cleaning and logging were carried out to facilitate recording the lifecycle of all tasks.

2)Each log record also includes: [ThreadPool. ThreadCount] [ThreadPool. PendingWorkItem Count], which will provide more reference information for monitoring

3)But this only applies to my own business code section and cannot track internal threads and tasks (such as OpcUaSDK \ third-party components)

4)After modifying the code, it has been reintroduced to the project site and is currently under observation; (As the Spring Festival approaches, in-depth testing cannot be conducted, and there is currently no more useful feedback.)

5) The DMP document is quite large, and I have uploaded two copies to the cloud storage. Here is a link for easy download and reference. I am eager to receive your help
DMP : pan.baidu.com/s/1pXT60kvKNwLN29rpTPqkiA Code: hyk6

【DMP document opening tool】: JetBrains dotMemory (2019.3)

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

More
31 Jan 2024 11:07 #12536 by support
Hello.
This is going to be difficult to troubleshoot, without having a reproducible scenario here in our office. Can you supply such thing? In addition, a 3rd party code is involved (in the calls stacks, the .NET OPC UA stack from OPC Foundation), which does not make it easier.

I have some questions:

1. I do not see the indicated attachment (DMP). Did you intend to include it? What tool to use to open it?
2. Did this happen once, or does it happen repeatedly?
3. Please check Windows Event Logs (Application log), for any interesting events since the start of your application, and the time of the problem. (especially interested in internal errors or warnings from QuickOPC).
4. Were you using earlier builds (before .522), and if so, what was the behavior with them?
5. Can you describe the nature of your application? E.g. are you doing reads, writes, subscriptions, how often and in what sequence?
6. To how many target servers is your application connecting?
7. Are you using a single, "always existing" EasyUAClient object (or set of them), or is your code creating EasyUAClient objects as needed (and then abandon/dispose them)?
8. Are you setting EasyUAClient.Isolated to True, or are you leaving it at default (False)?
9. As there is an indication of "reconnections", were there truly connection problems (network problems, servers not running etc.), or do these look basically like "bogus" reconnections?

Thank you

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

More
27 Jan 2024 07:21 #12533 by xpycy001
I have conducted troubleshooting specifically for opening DMP files. Attached is the information I found about the Task using the dotMemory tool. A screenshot is attached for your quick browsing

Thanks

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

More
27 Jan 2024 07:13 #12532 by xpycy001
Hi,support :

I have encountered the following problem, please provide some suggestions for handling it

[A] Problem description
1 The OPC UA client appears to have stopped working, the application CPU is still floating up and down (0-1%), and the memory is approximately 700MB
2 All subscription data collection stopped on January 24, 2024 at 04:14, and all other worker threads stopped


Operational troubleshooting issues
1 Before closing the application, a memory mirror document (DMP) was stored separately through a process
2. Open the DMP document in the attachment, which appears to have over 2000 tasks, most of which reside in memory for a long time. Open tasks related to opcWriteValue transactions

[C] Randomly viewed a set of tasks
About 20% IPArallelismExtension+<> Task
About 80% UaSCUaBinaryChannel+Write... Task
In addition, there are about 110 tasks for Reconnector

[D] Here is our information:
1 Windows Server20216 enterprise
2 .netcore 7.05 + OPC UA SDK 5.72.522

[E]
1 Closed a batch of problem Tags
2 Fixed subscription methods for many tags, for those that do not support conditional subscriptions
Attachments:

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

Moderators: support
Time to create page: 0.068 seconds