LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

WARNING TDMS memory leak in LV 2010

Highlighted

Hi Ben,

 

The CAR number is #336193.

Message 11 of 21
(940 Views)
Highlighted

Hi Brian,

 

With more investigation, we have already addressed this issue. The problem is that there's some memory leak in TDMS when handling the string arrays after transposing. The workaround for you probably are:

  1. Avoid using "Transpose 2D Array" VI
  2. Using "always copy" VI after using "Transpose 2D Array" VI

VIs with the workarounds are attached.

Please feel free to let me know if there's more quesitons.

Message 12 of 21
(905 Views)
Highlighted

Since this bug still reproduces in LV2011, does that mean it will be fixed in LV2012?

0 Kudos
Message 13 of 21
(895 Views)
Highlighted

Yes, it will be.

0 Kudos
Message 14 of 21
(893 Views)
Highlighted

@YongqingYe wrote:

VIs with the workarounds are attached.

Please feel free to let me know if there's more quesitons.


Hi Yongqing,

Thank you for posting the workarounds which I hope will save others the time and energy that this issue has drained from me.  Since my project required an immediate solution, as I mentioned I used the gTDMS VI's as my workaround.  However, now I have found another issue which is either in the "TDMS Get Properties" primative or the way that the gTDMS is writting to the TDMS file.  Look at the attached VI which demonstrates the problem.  The "TDMS Get Properties" primative returns an error when reading a file created by the gTMDS functions and not when using the primatives.  Perhaps the reason is that the primatives are writting "NI" properties that are present but getting stripped by the Get Props, which the gTMDS doesn't and there are no properties which is causing the error?  Either way, I guess that I would expect the "TDMS Get Properties" to behave the same since in both cases there are no user properties.

Thanks,

Brian

 

So I guess now my workaround is to go back to the primatives and apply the "AlwaysCopy" workaround.  Why do I feel like I'm going in circles...

Brian Gangloff
DataAct Incorporated
0 Kudos
Message 15 of 21
(876 Views)
Highlighted

@brian175 wrote:

 

So I guess now my workaround is to go back to the primatives and apply the "AlwaysCopy" workaround.  Why do I feel like I'm going in circles...


Another solution is to write a dummy property to the group which prevents the error.

Brian Gangloff
DataAct Incorporated
0 Kudos
Message 16 of 21
(868 Views)
Highlighted

Hi Brian,

 

I would recommend you use TDMS primitive VIs instead of gTDMS. gTDMS was developed in the time when TDMS was not supported on cRIO VxWorks platform before.

 

Thank you.

0 Kudos
Message 17 of 21
(847 Views)
Highlighted

Has there been any action here?  I may have a similar issue, writing tdms files over time I see a memory leak also.  I am tracking down in my code now to see if I have the exact situation described in this thread, but would love to know what is going on.

Thanks,

Rob

0 Kudos
Message 18 of 21
(808 Views)
Highlighted

Nevermind, I just saw the new messages.

Thanks,

Rob

0 Kudos
Message 19 of 21
(806 Views)
Highlighted

Had a similar issue with the Transpose and write to TDMS.  Adding 'Always Copy' seems to have fixed it, I'll let you know for sure in 1000 hours since that is how long this application is supposed to run.

 

Thanks for the workaround!

0 Kudos
Message 20 of 21
(594 Views)