Professional OPC
Development Tools

logos

VB.NET application crashes after upgrade to QuickOPC-UA

More
09 Dec 2019 06:52 #8077 by support
Addition:
If you can run your program under Visual Studio, you can also do the steps below - with the result that the dump will be smaller but still contain what we need:

1. Break the program at convenient point (when it has run long enough to show the issue).
2. Perform the Debug -> Save Dump As command.
3. In the Save Dump As dialog, make sure that the Save as type is set to Minidump with Heap (*.dmp). Select file name and location, and press the Save button.
Send us the minidump file for analysis.

Regards

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

More
09 Dec 2019 06:50 #8076 by support
Hello,
thank you. Yes, this has the symptoms of a true memory leak somewhere - can be caused by our code, or yours.

If you can create an app that would not depend on thew rest of your setup and would that would the same problem (e.g. with some freely accessible OPC server or our own demo server), please do so and we will it investigate it here.

If that is not doable, please take a full dump of the process after some time it is running (when it is clear that amount of unnecessary allocations are staying around), zip it, and send it to us (if it is too big to attach to the forums, use alternative means such as Dropbox - or I can our FTP server access). We will then try to analyze the memory dump here.

For information about how to take the dumps, see e.g:
- blogs.msdn.microsoft.com/debugger/2009/12/30/what-is-a-dump-and-how-do-i-create-one/
- support.m-files.com/index.php?/Knowledgebase/Article/View/24...ific-process-with-task-manager
The easiest is probably with the Task Manager.

Best regards

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

More
05 Dec 2019 22:58 #8075 by aethia
Dear support,
thank you very much for the explanation, I'm sorry I meant just to ask about how to export the data.
I collected the requested statistics for many hours (1 point every 60 secs), and it clearly seems that private and virtual bytes (red and green lines) are continously increasing. Please, check this in the image attached.
Do you have any suggestion?

Thank you,
Gianpaolo
Attachments:

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

More
03 Dec 2019 09:41 #8062 by support
Hello,
Google: www.google.com/search?q=performance+monitor+tutorial .

Basically, you just need to:

1. Type PerfMon into Windows search box, and select "Performance Monitor" from the list offered.
2. In Performance Monitor window, click on the Performance Monitor node in the tree on the left side.
3. Click the green "+" icon.
4. Under "Available Counters", expand "Process", select "Private Bytes", "Virtual Bytes" and "Handle Count" (multiple items can be selected with help of Cttl key). Then, under "Instances of selected object", select your application, and press "Add >>", and "OK".
5. From now on, you can view the counters in the graph. We are interested in whether or not there is an unlimited growth in any of them. When you right-click on the graph and select Properties and switch to General tab, you can change how often the data is sampled and how long the duration is. If needed, you can then send me the screenshot, or - the data can also be stored in to a file - for which I refer you to the tutorials.

Best regards

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

More
03 Dec 2019 08:51 #8060 by aethia
Dear support,
I entered a reply but it doesn't appear here...

I was asking how to report to you the data collected through the Performance Monitor, sorry but I don't know this tool very well.

Thank you

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

More
22 Nov 2019 08:07 - 22 Nov 2019 08:08 #7992 by support
Hello,
thank for update.

You proceeded faster than I thought. I wanted to give you some instructions as to what to monitor. From what you are writing, it looks like that you are observing something like Windows, system-wide memory available memory. That's not quite what we want (although, to some degree, it is also indicative of something).

What is needed are performance counters specific to the process in which QuickOPC runs (= your application).

In Performance Monitor, under "Available Counters", expand "Process", select "Private Bytes", "Virtual Bytes" and "Handle Count" (multiple items can be selected with help of Cttl key). Then, under "Instances of selected object", select your application, and press "Add >>", and "OK".

Best regards
Last edit: 22 Nov 2019 08:08 by support.

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

More
22 Nov 2019 07:29 #7990 by aethia
Dear support,
I monitored the free memory in the PC with Windows Performance Monitor, until the exception came up again, and I can confirm that there is no increase in the memory consumption, the free memory remained always aronud 50%.
Thank you

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

More
21 Nov 2019 14:41 #7988 by aethia
Dear support,
I'll provide here some additional information:

1) Not with the program in the"crashed" state (.NET uncaught exception): we had te possibility to remotely connect to the PC and check the system while our application is still running but is blocked on this exception, and the memory usage was at 50% more or less. We're now activating a continuous monitoring in order to better examine this aspect.

2-3) For sure, you should find the screenshot in attachment (sorry, it's in italian). The "crash" is a .NET uncaught exception

Thank you
Attachments:

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

More
21 Nov 2019 14:00 #7987 by support
Hello.

Can you please provide some additional information?

1. Have you actually observed increasing memory consumption of the process (such as by using Task Manager, or Process Monitor, or similar tools). I am asking because this error message can sometimes indicate a completely different altogether.

2. Can you post a screenshot of the error message? It is not quite clear to me whether this is a message coming from the Windows as such, or a .NET uncaught exception, or other type of error.

3. When you say that the application crashes - does it mean that there is exception handling in the program - but this error cannot be "caught"?

Note: Although it is kind of too late for this, I'd like you to be aware that your testing could have been done (and can be done, in future) for extended periods of time. All that's needed is to ask us - and we will supply an evaluation license without the 30-minute limitation, free of charge.

Best regards

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

More
21 Nov 2019 11:56 #7985 by aethia
Some years ago I developed for a customer a VB.NET application based on QuickOPC Classic 5.1 and using OPC-DA protocol.
Recently the customer needed to migrate to OPC-UA, so I obtained the trial version of QuickOPC-UA, did the porting e tested it (for periods of maximum 30 minutes, according to the limits of the trial): everything was fine and I purchased a Standard edition license e put the new version of the software in production.
Unfortunately the application now crashes every 1/2 days, the error message displayed is this: "Not enough memory available to complete this operation"
I carefully checked the code and I'm quite sure I didn't introduced memory leaks.
Do you have any suggestion?

Thanky you in advance

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

Moderators: support
Time to create page: 0.204 seconds

      

 Recommend this on Google