NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand locks-up using LabView DLL's

I find that trying to copy a Step in the TestStand sequence will cause TestStand to lock-up with a LabView 6.0 dll loaded. Cutting and Pasting work, but I also see TestStand lock-up when unloading the dll's after editing a sequence.

The sequences will run, if I do not try to copy a Step, and the LabView dll's work properly. The only error I see is when TestStand locks-up during a copy operation or unloading the dll's.

Most of the dll's I have used before have been CVI or MSVC++ based and I do not have this problem with them.

I contacted NI support and they responded that this is a known bug when using TestStand with LabView dll's.

Is there an update to TestStand that I need to correct this problem? This error occurs on
both TestStand 2.0 and 1.0.3.

John Witt
Mindready Solutions (USA)
0 Kudos
Message 1 of 3
(3,145 Views)
John,

The next update of TS will fix this problem. Unfortunately there is not much you can do until this update except to avoid copying when LV DLLs are loaded. I think you may also encounter a problem if you try copying a step and then executing a sequence that calls a LV DLL.

While perhaps not very useful, the details of the cause when copying a step and then trying to run a sequence that calls a LV DLL are as follows. Deadlock occurs because TestStand loads the LV dll in an execution thread, then when it is done the execution thread goes back into teststand's thread pool and starts processing window messages, this causes the LVRT dll to start doing it's initialization which in part involves calling GetClipboardData which attempts to send a message to the m
ain thread of the sequence editor (the one that registered the clipboard data), however the main thread of the sequence editor isn't processing messages yet because it is trying to create an execution and allocate a thread from the thread pool and happens to try to be allocating the same thread that is running the LVRT dll's initialization code so it is effectively waiting for the thread that is waiting for it resulting in deadlock.
Message 2 of 3
(3,145 Views)
This problem was fixed in TestStand 2.0.1.
Scott Richardson
https://testeract.com
0 Kudos
Message 3 of 3
(3,145 Views)