LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

mermory full - error??

HI all,

I do have quite a big LV project with over 100 VIs involved. Recently, I added one new VI. After that was added I encounterd error messages and LV exited. The error message was:
"Memory Full
VI "Main_FP.vi" was stopped at NamedMuxDCO 0x14754 of subVI "Main_FP.vi" "

when I stepped through the program I encountered that the error didn't appear in the vi that I added. It appeard at a different point of the program where I sorted and reversed a 1D Array (by that time that array was not big). I happend quite often that the LV just exited without any error message at all, too. Therefore I took the new VI out, because it worked fine before. That was still the case whenn I checked the program without the new VI. So I put it in again. Same way as before. Additionally I opend the windows task manager to check the values for the memory. But the Error didn't appear anymore from that time on. The performance values in the task manager seemed to be stable and not extraordinarily.
I'm using a XP system with 512 MB RAM.

What could have caused this error? How can I make sure that it won't happen again?
Thanks
ANDY
0 Kudos
Message 1 of 7
(3,190 Views)
Hi Andy,

It looks like there is a lot of information on the web about this type of error. I would suggest reading through the resulting documents when searching "memory full" on the...

Knowledgebases:
http://search.ni.com/nisearch/nisearchservlet?nistype=default&ddown=2&filter=%2Btaxonomy:knowledgebase+%2Blanguage:en&q=memory+full

All of Support (KBs, Discussion Forums, etc):
http://search.ni.com/nisearch/nisearchservlet?nistype=default&ddown=2&cluster=true&filter=%2Btaxonomy:Support&q=memory+full

Hope this helps!
Travis H.
LabVIEW R&D
National Instruments
0 Kudos
Message 2 of 7
(3,164 Views)
HI travis,

Thanks for the links. I searched around quite a bit. It seems that it is somehow realted to the delet from array function. I'm using LV6.1
For 6.1 it says teh error only occurs if:

1. The element type of the array must be non-flat (strings, clusters, etc.).
2. The "deleted portion" output of Delete From Array must be unwired.
3. You must be deleting along the highest dimension (rows for 2D arrays, pages for 3D, etc.).
4. The 'length' input (for example, how many rows to delete) must be given a value smaller than the column size of the array. Note that if the length happens to exactly match the column size, things will work fine. If the length is more, it will cause a memory.cpp, line 563 error.

I have strings (1: true) I delete rows (3: true) but
my deleted portion is wired. (2: false)
length is unwired (I assume that the default i meant to be compared to the number columns)
so length is 1 and therefore smaller than the number of columns (4: true)

that makes 3 out of four. But it says that the error only occurs if all conditions are fullfilled and the error that I had occured not after or during the deletion but after the sort 1D array.vi and befor or while executing the reverse 1D array function.

I couldn't find anything particular about these functions!
could it be that the error is somewher before and only shows up at these special array functions?
Any other ideas what I could look for?

Thanks
ANDY
0 Kudos
Message 3 of 7
(3,160 Views)
Hi Andy,

I was talking with a colleague about this today and they actually mentioned that they created a test that would result in this type of error. Basically, the VI kept allocating more and more memory until the virtual memory was completely full. Could you possibly be doing something similar? I would make sure that your VI isn't continually allocating or building larger and larger arrays.
Travis H.
LabVIEW R&D
National Instruments
0 Kudos
Message 4 of 7
(3,141 Views)
Hi Travis,

depending to the state of the program I'm working with quite some arrays and they can get quite big. But so far I think I don't do any deletion in any kind of loop nor do I a generation in a Loop where the "N" is wired to the results of a division. Though, some loops work with indexing enabled.
I still have to dig around in the code to allocate every instance of the delete from array function.
Are there any other functions that are know to cause problems like this?
Is it recommendable to wire the "deleted portion" to some dummy indicator or just to the border of any loop even if this portion is not of use and at least one of the 4 mandatory requirements for the Error as stated in the post before is not true and the failure should not appear?

What function did exactly cause the problem that your colleague reported?

Thanks
ANDY
0 Kudos
Message 5 of 7
(3,135 Views)
Andy,

Honestly, I would assume that the error is arising from the size of data in your VI. It doesn't sound like it is attributed to any particular function in your VI (especially when you use a different function and it still occurs). Please look at your VI and see if there is a way you could run a default case that uses really small data sets (arrays). Does it give the same error when using small data sets? Also, for info on managing large data sets in LabVIEW, I would refer to the following document:

Managing Large Data Sets in LabVIEW
http://zone.ni.com/devzone/conceptd.nsf/webmain/6a56c174eaba7bbd86256e58005d9712?OpenDocument

Hope this helps,
Travis H.
LabVIEW R&D
National Instruments
0 Kudos
Message 6 of 7
(3,117 Views)
Hi Travis,

I don't know if I can manage to run the project with small data sets. So far it happend only once but then several times in a row. Since then I was not able to reproduce this error again so that a defined action or status brings the error.
Thanks for your help so far. I'll check out the link.
If something new happens I'll get back to you.

Best Ragards
Andy
0 Kudos
Message 7 of 7
(3,100 Views)