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.

EasyUAClient corrupts heap memory so that Dapper crashes

More
17 Jan 2022 08:49 #10544 by support
Dear Sir,

I suspect (although I am not sure) that I know the cause. It could be related to a 3rd party library that we use, and that commonly has issues when newer versions of operating system are released. We then included a newer version of the library in newer version of QuickOPC, and so on.

Upgrade would certainly be the suggested solution, but you can also try this:

kb.opclabs.com/How_to_disable_prerequisites_boxing

Best regards
The following user(s) said Thank You: andis59

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

More
14 Jan 2022 18:34 #10538 by andis59
I downloaded the newest version of QuickOPC and now it works!

Just have to convince my boss that we must upgrade...

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

More
14 Jan 2022 14:59 #10537 by andis59
I'm using OpcLabs.QuickOpc" version="5.54.1311" and it works perfectly, BUT

Somehow it corrupts the heap memory so that Dapper crashes when a query is returned as a list.
The crash occurs in the ToList() function.
If I remove the initialization of EasyUAClient, then Dapper works (but I need both...)

Has anyone any idea on what the problem is and how to solve it.

private void InitUAClient()
        {
            _easyUAClient = new OpcLabs.EasyOpc.UA.EasyUAClient();
            EasyUAClient.AdaptableParameters.SessionParameters.KeepAliveInterval = 500;
            EasyUAClient.AdaptableParameters.SessionParameters.HoldPeriod = 60 * 1000;
        }
 
        public static void RegisterManagedResource()
        {
            // Register a license that is we embed as a managed resource in this program.
 
            // The first two arguments should always be "QuickOPC" and "Multipurpose".
            // The third argument determines the assembly where the license resides.
            // The fourth argument is the namespace-qualified name of the managed resource.
            LicensingManagement.Instance.RegisterManagedResource("QuickOPC", "Multipurpose",
                Assembly.GetExecutingAssembly(),
                "OpcUa.Key-Permanent-ShareIt.bin");
        }

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

Moderators: support
Time to create page: 0.054 seconds