11-25-2019 04:28 AM
The only way setting a scale label would blow up memory is if you somehow manage to send a several MB big string as name ... (and i'd assume there's some limit to the label length)
/Y
11-25-2019 05:13 AM
From your OP I'm not sure, but are you saying you previously had memory explosions, but now it's a gradual growth up to around 1500MB? Or is there still a rapid increase that disappears in the next step?
Subpanel VIs should be tracked by DETT - I used to use it frequently with subpanel embedded Actors (using AF) and am pretty sure they would still give sensible messages.
If you're not seeing them, I'd ask how you're launching the VIs? Is it possible you're spawning them across application instances somehow, for example? DETT will only track one application instance at a time if I recall correctly.
11-25-2019 05:44 AM
To 1.: The memory explosions still persist, but the memory raise is most of the time smaller now.
In the Beginning I used some diagram formatting to display the control limits. If the value is within the limits, they are formatted green or red if this is not the case. I had the references being created inside a while loop, changed some property nodes and closed them afterwards in the same iteration. So I moved the reference creation and the "close references" out of the while loop and that seemed to have an impact on the memory explosion behaviour.
Unfortunately I found another random memory explosion that was very big (500 MB raised to 3000 GB) just yesterday.
Currently I feel like with the game Whack-a-Mole. Everytime I beat the issue it pops up randomly somewhere else.
Unfortunately the diagrams are woven to deep into the program, so that I cannot predict, where the problem pops up next time. Maybe it even is not the diagram itself, because I failed locating the memory leak so far. I only judged the root cause depending on the execution times of each substeps.
To 2.:Ok, I will try again...
To 3.: The VIs are loaded to the Subpanel using the Run VI invoke node and then using the Insert VI invoke node. But I have to add that I use two layers of subpanels: Mainframe (first subpanel layer) -> Test panel (second subpanel layer) -> test steps
11-25-2019 06:20 AM - edited 11-25-2019 06:22 AM
@Yamaeda wrote:
The only way setting a scale label would blow up memory is if you somehow manage to send a several MB big string as name ... (and i'd assume there's some limit to the label length)
The only hard limit there is the length of a LabVIEW string which can be up to 2^31 bytes.
11-25-2019 06:42 AM
That is a good hint. Those are quite a lot MB. Actually I am feeding that label from my translation module. If this one would go nuts, this could explain such things. I will keep an eye on this possibility.