09-21-2011 12:31 PM
Hi
I have a test procedure developed using Labview 7.1 and TestStand 3.1. It’s run from TestStand’s Operator Interface VI (full version), and executes about a dozen TestStand sequences in turn which call lower level VIs that perform the actual tests.
The code was written on a Dell GX240 Pentium 4 PC, with Windows 2000 + SP4 installed and runs without a hitch. However, I also have a second PC, same model & spec, but running Windows XP + SP3 instead of Win2K. I’ve also installed the same versions of Labview & TestStand on it, and copied across all my TestStand sequences & VIs into the same working directory. However, when I run the program on this machine, again using the same Operator Interface, it executes until about half way through and then hangs up.
In several tests, I call up a graphical user interface VI which displays a picture and prompts the operator to click on either a ‘Pass’ or ‘Fail’ button – the actual text being passed as a parameter. When the lock up occurs, the front panel is displayed, but there’s no picture and the buttons are blank. Up to that point, previous calls to the same VI have executed ok.
On one occasion, I got a windows message saying there was insufficient memory to complete the current operation (both PCs have 1 gig fitted) and suspected I’d got a memory leak somewhere. Having searched other posts on the subject, I installed the recommended TaskInfo utility, to see what was going on.
Fairly early on in the test sequence, I get a warning message from TaskInfo saying that there are too many Win32 handles, and an incrementing value of 20,000+ is displayed. When I run the program from scratch, the handles count usually starts at around 5000 and this slowly increases as each test sequence executes its VI and then decreases again, usually by the same amount, as the VI completes. However, whenever the GUI VI is called, the handles count rapidly increases by around 12-14 every couple of seconds and never goes down, even when the VI has closed. I thought perhaps there was something in the VI that was causing this to happen, so I replaced one of the calls with TestStand’s message pop-up step (which just displays a text message, no picture) but the same thing happens – the handles count just rises as before, until I exit. I’ve tried running the program via from the sequence editor as well as the operator interface, but it makes no difference.
If this wasn't strange enough, I’ve also found that if I modify the step where the problem occurs, to call another VI - for example, a sub VI that doesn’t display its front panel - the new VI executes and the program continues to run. If I then set this VI to display its front panel, it’s back to the same story - the front panel outline appears but everything then freezes. Checking the handles count at this point, and its also static. Going into Task manager and no applications are reported as ‘not responding’ and no process is using 100% CPU time.
In comparison with the Windows 2000 PC, the handles count is again around 5000 to begin with, but when the step to execute the GUI VI comes up, the handles count stops - until I exit and the count then increments & decrements as before. The same is true if I execute a TestStand’s pop-up message.
I just wondered if anyone has come across anything like this before, as I’m at a loss.
Very much appreciate anyone's thoughts.
Thanks
Bruce
09-22-2011 10:24 AM - edited 09-22-2011 10:24 AM
Can your reproduce this in a simple case and attach the necessary files to this post? Can you reproduce this on more than one machine (i.e. do you have another machine you can try it on)? Just want to double check, is task manager showing 0% cpu usage for the computer? Does this happen even when running your sequence in the sequence editor? Do you have Windows XP fully updated to the latest service pack with all of the Windows updates?
-Doug