TL;DR: How do I completely remove all DSC related data from my machine?
I have several DSC processes running in my application. They have been fine for months. Suddenly, the process called "Relays" will crash the NI Variable Engine when deployed (all other processes will cease to run, if opened in Distributed System Manager the +/- tree shows nothing when clicked) (Variables are unavailable, will throw errors if attempted to read programatically). If I then Undeploy the "Relays" Process, stop the NI Variable Engine, and restart it, the other Processes run fine until I then attempt to deploy "Relays" again.
I tried looking at the variables to see if anything was aliased incorrectly - it all looks good. I tried rebooting, reinstalling, reinstalling with the /reinstall option on the command line, with no help. Interestingly, if I change the name of "Relays" to anything else (without changing any of the actual tags, database, settings, aliases, etc.) it will work fine. Changing the name of the Process in my project would be a giant PITA and is not really practical at this point.
I'm running labview/DSC 2018 on a Windows 2012 Server machine. I actually have an identical machine with identical processes etc. as a backup that works fine (both machines are required for the total project to be successful) with the process named "Relays".
I'm assuming there's some file somewhere where the process called "Relays" has some corruption which is killing everything. I tried deleting every folder I could find on the system with National Instruments involved with no luck.
I was able to get everything back. Here was my process:
1. In MAX delete every database
2. In DSM undeploy all processes
3. Uninstall everything using NI Package Manager
4. Uninstall NI Package Manager via Add/Remove Programs
5. Uninstall left over National Instruments programs via Add/Remove Programs (these weren't available until NI Package Manager was gone)
6. Delete every National Instruments folder I could find (Program Files, ProgramData, Documents, Users, etc. there are quite a few)
7. Reinstalled LabVIEW and DSC using the /reinstall tag
At the risk of making this thread my personal blog, I thought I should flesh about what actually was happening to cause the behavior I described in the OP. It was not, in fact my LabVIEW or DSC installation or some file somewhere that was corrupt.
I had another machine on the network which was writing to a shared variable in the "Relays" Process. This writing was inside a FOR Loop which did not have any type of wait function in it. This causes the loop to run extremely fast, writing to the Shared Variable faster than it can handle - which crashes the Process and therefore the NI Variable Engine on the machine which the Process exists. I simply added a 10ms wait in the FOR Loop and everything is peachy again.
I'm glad you were able to figure it out! I can definitely see how that many consecutive write to the variable would be crashing the SVE process. Good to know in case someone else runs into something similar, so thanks for posting your solution.