We have started using animated GIFs heavily in Teststand popups for about the last year and half. As we have used this feature more and more, we have had more and more reports of Teststand hanging after acknowledging the popups.
The problem is very intermittant. But it is reproducible. See attached files. All the sequence does is call a non-modal teststand popup over and over that displays an animated image. The popup is set to timeout after one second (just for convenience of reproducing the problem). The sequence consistently hangs within a couple minutes. Behavior is the same in the sequence editor or the CVI user interface. If the sequence is changed such that no image is displayed by the popup, the sequence does not hang.
We are using Teststand 4.0.1f1. Let me know how to resolve this, as it is quite a major issue with us.
Solved! Go to Solution.
Take a look at the following thread, http://forums.ni.com/ni/board/message?board.id=330&message.id=22997#M22997. Basically there is some code that the TestStand step type uses from the CVI RTE to display non-BMP images in an IE control. Specifically, to display the IE ActiveX control, the step type must create an STA thread to display the dialog and it uses some threading functions from the CVI RTE to do it. There is a slight chance that when the step type waits for the STA thread to complete, the CVI function function to wait for the thread can sometimes miss its event, so the step type ends up waiting forever for the STA to complete, even though it already did.
If you would like to discuss this in more detail, please contact us by using http://ni.com/ask
What you are saying makes sense, and is consistent with what we are seeing. Interestingly enough, the problem seems worse on machines where we have installed the CVI 9 RTE than the computers running CVI 8.
I think I have seen a very similar bug when using CVI code. We have created panels that are being called in STA threads to allow the display of videos and animated images. Sometimes the CmtWaitForThreadPoolFunctionCompletion call seems to hang eventhough the panel in the STA has been acknowledged. Same issue?
We can switch to static BMPs in some places for now, but is there a workaround? When will NI be fixing this bug?
We will be fixing this problem in the next version of CVI. Please contact NI support and reference this forum post so that we can discuss what your timeframe for a fix is.
Just wanted to followup with you on this issue. LabWindows/CVI 9.0.1 has released and its run-time engine fixes the hang issue that you were seeing. So to prevent the hang on a system, you just need to install the new version of the RTE located at: http://ftp.ni.com/support/softlib/labwindows/cvi/Run-Time%20Engines/9.0.1/NILWCVIRTE90.exe. You may need to restart your system after installing.