02-09-2023 12:05 PM
I have been running a CVI application for several months with a Lenovo laptop. The application communicates with a Parker controller via a TCP/IP connection. I have recently encountered TCP timeout errors when calling ClientTCPRead in the CVI debugger. The debug output window displays the following messages after calling ConnectToTCPEx (although the function call returns zero):
"FTH: (4012): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
Loading params file
onecore\net\netprofiles\service\src\nsp\dll\namespaceserviceprovider.cpp(550)\nlansp_c.dll!73B185D4: (caller: 7742CD00) LogHr(1) tid(3af4) 8007277C No such service is known. The service cannot be found in the specified name space."
Searching for the "service cannot be found" error indicates this is related to layered protocol services, which have been deprecated.
The "fault tolerant heap shim" message is the newest wrinkle. I believe this is generated at startup and was not occurring previously, i.e., the TCP errors started before this message showed up.
The program issues commands to the Parker controller and looks for a response. Some commands work fine, but at certain points in the program, ClientTCPRead times out. This doesn't seem to be hardware related, as the timeouts occur at specific points. The program also seems to work fine if I run the release version.
So what has changed? I have made some recent changes to the computer. I had to rebuild the .cws file from a backup, as the existing file was corrupted. I also deleted McAfee Antivirus and enabled Windows Defender. I thought that perhaps there was an issue with Defender Firewall, but the debug and release versions have the same settings (both allowed) and the behavior occurred even if Defender Firewall was disabled. The only updates I found corresponding roughly to the time the issue began were some driver updates. Rolling these back didn't help, though.
I am running CVI 2015 on a Win 11 laptop. I downloaded CVI 2020 and ran the program in this version with the same results. If this is somehow related to Win 11, I don't understand why the program has worked fine for several months and what has recently changed to cause this issue.
02-10-2023 02:58 AM
Hello Double_D,
that's gonna be a tough nut to crack. I've written communication drivers for Parker axes before, but on Linux, without using NI products and I don't remember having had communication problems.
What I would do in your case is probably write a simulator for the Parker. Write a smallish TCP program that communicates in a similar way and use it to communicate with your main program. Does the problem still happen?
04-07-2023 02:09 AM
Hello, I don't know if this will help you but i found a bug in LabWindows/CVI TCP driver, if the time between a TCP Write and TCP Read is too fast it will freeze.
To solve it I've discovered two ways: