From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
05-19-2006 03:06 AM
05-19-2006 05:09 AM
I tried to close the control refnum at the end of the subVI, but that changed nothing
It shouldn't, except for speed and (if you call it thousands of times) memory usage.
How do you know it's this issue which causes the crash?
What LabVIEW version?
My correlated question is if this global passing is a "fake" workaround or have real chance of improving
Given that one computer works OK, and another crashes, I would say that you are seeing the effect of something else, not the cause. If passing a control ref via terminals was fatal, it would be fatal all the time.
You have some other sort of issue, perhaps timing of the different machines triggers the bug, perhaps running out of memory, perhaps LabVIEW is corrupted on one machine.... But I don't think changing all your code to use globals would solve the real problem.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
05-22-2006 11:41 AM
Given that one computer works OK, and another crashes, I would say that you are seeing the effect of something else, not the cause. If passing a control ref via terminals was fatal, it would be fatal all the time.
You have some other sort of issue, perhaps timing of the different machines triggers the bug, perhaps running out of memory, perhaps LabVIEW is corrupted on one machine.... But I don't think changing all your code to use globals would solve the real problem.
Actually, saying that I wonder about problem of synchronisation. I know from Visual C++ that this kind of error happens if two process try to access the same control at the same time. This is typically an error changing from a computer to an other, and mutex or semaphore are the way to deal nicely with that. But does labview contains already such a securisation? If so, the global variable point on a single object and can "fell" the semaphore/mutex. But passing make a copy that will likely have two different semaphore/mutex but will point to a single control! Do someone know if I'm wrong in this idea or not?