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.

StackOverflow error after upgrading to version QuickOPC-2023.1

More
26 Sep 2023 15:33 #12239 by support
Hello, again thanks for the answers.

Yes, CLR.dll refers to Microsoft's Common Language Runtime (for .NET), so that clearly has to do with us (QuickOPC), because QuickOPC is written in .NET, with COM API layer on top.

The WER entry/report is good to know, but unfortunately it has not provided any useful hint.

Visual Studio, or comparable .NET debugger, should be (fingers crossed) able to give us the offending recursive call stack; the code is not intentionally "mangled" to hide that. I can "guess" that some critical piece (assembly, ...) if missing or failing, causing some error handler to be called, but that fails for the same reason too, and causes an infinite recursion. But without debugging, it's impossible to tell.

I do not quite understand why, when you replied to question 5, you are referring to "machines at the client side". Since the issue most likely does not need any client-side specific hardware or software for it to manifest, it could have been any PC - ideally, a virtual PC that, if it manifests the problem, we can take over and investigate here.

Provided that QuickOPC 2023.1 is installed on some machine, how difficult would it be to install "your" stuff on top of it? Is it just an EXE to be run? If it is not too difficult, and you provide us with your files, we can try to reproduce the issue here. I will have to ask my colleague for help, because I am on vacation this week.

Can you revert so some old version temporarily to get your solution up and running on the client side?

Regards

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

More
25 Sep 2023 20:34 #12233 by ColinOPC
HI,
(4)
I have looked at the Event log and found an event after the crash, "Windows Error Reporting" with the following information:
Fault bucket 1839510587612189630, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Koch19522.exe
P2: 195.21.0.0
P3: 650adf60
P4: clr.dll <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Again this dll that is never called from Delphi but I guess you are familiar with this
P5: 4.8.9181.0
P6: 64b8594f
P7: c00000fd
P8: 0045939a
P9:
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.b9613c33-2f5c-4c86-b0df-f6d357e70089.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.dcd0788b-dfe9-417f-81e8-97d93331e592.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.7ae26da9-79fa-400f-9422-1e225be53d11.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.cc351959-1f92-4fe7-bf19-5456006efcbe.tmp.txt
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.c7e078b4-0c6e-4c2a-b622-12ac1d5eca26.tmp.xml

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Koch19522.exe_e8fd258f36b798e7465cb4777e349899b052759c_089aa744_48d89ab9-319c-4c9a-b7c5-e07827230e12

Analysis symbol:
Rechecking for solution: 0
Report Id: ef7cec28-bb65-450a-b7c3-11a96137c1fd
Report Status: 268435456
Hashed bucket: b958cef1b916dbe2498741221f31d3be

I Have included the Report.wer file :)

5. Have you tried to deploy to any other machine, and if so, what were the results? (I understand that you do not have the PLC connection available, but this error appears early in the process, so in my understanding the PLC connection does not come to effect yet).
We dont have any spare machines at the clients site and suggesting buying another PC because of a bug in our application will go down like a lead balloon at the moment :-(

6. I assume that since your development environment is Delphi, you do not use Visual Studio, right? Anyway, would you be willing/able to install the free version of Visual Studio at the target computer, and use it to run the program under its (.NET) debugger, and (hopefully) extract more information about the crash?
Not sure how this works as all the code is developed in Delphi 11.x and the part we cant debug is your component, and further down the tree i guess is .Nett so how would one be able to debug Delphi using Visual studio and then break into your code and debug it, I was hoping that your code is secure and hidden from prying eyes. ???

7. Can you verify that in your OpcLabs_EasyOpcUA_TLB.pas unit source that you use in your project, there are following lines:
const
// TypeLibrary Major and minor versions
OpcLabs_EasyOpcUAMajorVersion = 5;
OpcLabs_EasyOpcUAMinorVersion = 71;

I have checked all the pas files and they contain the Major Version 5 and MinorVersion 71.

IS the error report file any use ?

Thanks for your assistance, customer is losing faith in our company as they have all this automation that is currently dead....
Attachments:

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

More
25 Sep 2023 07:51 #12223 by support
Thank you very much for the answers. I do not see anything apparently wrong with how you have done things.

I have some additional questions please:

4. Isn't there some other "interesting" event in the Windows application event log near the one you reported? Something like "internal error" from the app?

5. Have you tried to deploy to any other machine, and if so, what were the results? (I understand that you do not have the PLC connection available, but this error appears early in the process, so in my understanding the PLC connection does not come to effect yet).

6. I assume that since your development environment is Delphi, you do not use Visual Studio, right? Anyway, would you be willing/able to install the free version of Visual Studio at the target computer, and use it to run the program under its (.NET) debugger, and (hopefully) extract more information about the crash?

7. Can you verify that in your OpcLabs_EasyOpcUA_TLB.pas unit source that you use in your project, there are following lines:
const
  // TypeLibrary Major and minor versions
  OpcLabs_EasyOpcUAMajorVersion = 5;
  OpcLabs_EasyOpcUAMinorVersion = 71;

(I want to rule out some version mismach).

Thank you

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

More
22 Sep 2023 13:26 #12220 by ColinOPC
I have some additional questions:

1. Why are you mentioning StackOverflow in the post title? I do not see an indication of stack overflow anywhere further in the text.
Because the error in the event log (See Below) was "Exception code: 0xc00000fd", Looking it up on the web it says this is a StackOverFlow fault..

2. On the machine where it happens (target machine) - was there any previous version of QuickOPC installed earlier?
No, We flattened the machine and installed a brand new version of Windows 11 22H2, no anti virus, and no other applications apart from the QuickOPC-2023.1

3. Do you recall the process used recently to install QuickOPC on the target machine? If there was a previous version, did you uninstall it? Have you used Full Installer or Production Installer to install QuickOPC 2023.1?
As this was a clean machine we had nothing to uninstall, So we simply went to your website and downloaded the QuickOPC-2023.1-Windows-Full.exe (330,459 KB) and
installed it as administrator.

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

More
22 Sep 2023 05:35 #12216 by support
Hello.

Thank you for the detailed report. You can find information about the changes in each version here: kb.opclabs.com/Versions . Believe me that we are trying to keep the breaking changes to minimum (because they may come to haunt us through tech support too).

I have some additional questions:

1. Why are you mentioning StackOverflow in the post title? I do not see an indication of stack overflow anywhere further in the text.
2. On the machine where it happens (target machine) - was there any previous version of QuickOPC installed earlier?
3. Do you recall the process used recently to install QuickOPC on the target machine? If there was a previous version, did you uninstall it? Have you used Full Installer or Production Installer to install QuickOPC 2023.1?

Thank you

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

More
21 Sep 2023 16:07 #12211 by ColinOPC
Dev machine : High power AMD system, 32Gb ram,
Dev IDE : Delphi 11.3 Fully Patch Clean rebuild last week.

Target Host : Low power Operating System:Microsoft Corporation, Microsoft Windows 11 Pro (10.0.22621) (en-GB)Processor(s):Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz (6 virtual) (X64) , 8Ggb Ram
Old Version QuickOPC-2021.2-Windows-Full.exe
To the new version QuickOPC-2023.1-Windows-Full.exe

Initially had a few issues finding that OPC renamed some of the function classes had us stumped for about 2 weeks trying to pull all our code apart, then found that
AFTER Version 2021.2 the modules have been renamed where EasyUAClientConfiguration existed, in the newer version it is EasyUAClientManagement.

Now I have our application compiled and built, and it appears to run on my dev machine, (Windows 11 platform version 22H2 Build 22621.2283).
I can’t test the connection as I don’t have a OPC server test PLC in our office, so testing requires me to send the application to a new Windows 11 PC on the live network to test.

The software loads, starts running as far as the connect line, then the program just disappears, no errors, nothing., the event log though gives the error below.

THE CODE:
procedure TFormMain_Koch.FormCreate(Sender: TObject);
var
sConnected : String;
EndPoint : String;

begin

EndPoint := 'opc.tcp://10.0.0.250:4840'; //Location of OPC server and portnumber

{New 20th March 2022 - OPC logging Handlers starting, Dumps log into c:\logs\OPC_Colin_Logs.txt file}
Debug_Logging('Creating OPC Event Handler '+ EndPoint,ClWindow);
ClientConfiguration := OpcLabs_EasyOpcUA_TLB.TEasyUAClientManagement.Create(nil);
Debug_Logging('TClientConfigurationEventHandlers130.Create '+ EndPoint,ClWindow);
ClientConfigurationEventHandlers := TClientConfigurationEventHandlers130.Create;
Debug_Logging('ClientConfigurationEventHandlers.OnLogEntry; '+ EndPoint,ClWindow);
ClientConfiguration.OnLogEntry := ClientConfigurationEventHandlers.OnLogEntry;
Debug_Logging('ClientConfiguration.Connect; '+ EndPoint,ClWindow);
Try
ClientConfiguration.Connect; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SYSTEM CRASHES with following error
Except
Showmessage('Failed to connect to finish ClientConfiguration.Connect '); <<<<< NEVER REACHES THIS POINT, Program just unloads in the Connect routine
End;

Debug_Logging('OPC Event Handler Connected '+ EndPoint,ClWindow);
// Ok Let’s create our Client OPC interface class
Debug_Logging('Creating OPC Client '+ EndPoint,ClWindow);
Client := OpcLabs_EasyOpcUA_TLB.TEasyUAClient.Create(nil);
Debug_Logging('OPC Client Created'+ EndPoint,ClWindow);

My Log Output after running the above code creates the log containing:
20 Sep 16:17:14: Creating OPC Event Handler opc.tcp://10.0.0.250:4840
20 Sep 16:17:14: TClientConfigurationEventHandlers130.Create opc.tcp://10.0.0.250:4840
20 Sep 16:17:14: ClientConfigurationEventHandlers.OnLogEntry; opc.tcp://10.0.0.250:4840
20 Sep 16:17:14: ClientConfiguration.Connect; opc.tcp://10.0.0.250:4840
CRASH !!!!

The Event viewer output logs..
Faulting application name: Koch195xx.exe, version: 180.0.0.0, time stamp: 0x650b0c12
Faulting module name: clr.dll, version: 4.8.9181.0, time stamp: 0x64b8594f
Exception code: 0xc00000fd
Fault offset: 0x0045939a
Faulting process ID: 0x0x1EC4
Faulting application start time: 0x0x1D9EBD57DD39F24
Faulting application path: C:\Users\$admin\Desktop\KochSys\Koch195xx.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll <<<<<<<<<<<<< This appears to be the culprit but its within your EasyOPC DLL
Report ID: 5897292f-ae8c-4fba-b2d6-011b9f63b4b2
Faulting package full name:

I am completely lost as to where to begin... Can anyone help please ????

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

Moderators: support
Time to create page: 0.067 seconds