05-30-2024 10:19 AM - edited 05-30-2024 10:23 AM
I have a LabVIEW application that calls TestStand via the APIs. Running TestStand 2021 SP1. Both 32 and 64 bit versions are installed. Running LabVIEW 2023Q3, 64 bit.
My code runs just fine when I compile it. However, when I run it in the development environment, it freezes. All of LabVIEW freezes. Can't access the project any more, the close buttons quit, and the three other top-level's freeze. All I can do is hit contorl+alt+delete.
In the executable, the sequence file loads and executes just fine. In the development environment, it preloads the modules, but the sequence never shows in the ActiveX container. It just stays blank.
Below is my top-level.
I have some logging routines, all the code in this state executes, and it goes on to the next state, and after a period of time later, it freezes (in the development environment). So, I put a never ending while loop in this case to stop it from progressing to the next state, and it still freezes.. so I don't think it's subsequent code.
I added the case structure to see where it fails. Both the development and the compiled code work fine, if I set the case structure to off. When I run the case structure code, it's fine in the compiled, but freezes in the dev environment.
Forgive the verbose logging and error handling. The code (in both environments) executes w/o error. All the log entries get written.
However, when I put a diagram disable over the run method, it no longer freezes in the dev environment (of course the sequence don't run). So, in my mind, that leads to me doing something funky with how the run method gets called.
Can you see anything that would cause this code to run fine when compiled, but freeze a few seconds later, when ran from the LabVIEW dev environment.
Also, all the sequence does is loop wait statements (does nothing).
-josh
05-30-2024 02:28 PM
Wild guess: if you have TS engine acquired in one of your subVIs, try to set this VI execution system to different than "same as caller". For example try "other 1".