MartinMcD Posted August 3, 2011 Report Share Posted August 3, 2011 Hello there, I am tearing my hair out with the application builder at the moment.... I am building a large app and I have come across memory errors where the build fails. I realise this can be because of the limitations of a 32-bit OS and contiguous memory space etc. I have enabled the Physical Address Extension option in Windows. I now have the annoying situation where my build completes apparently successfully, it takes half an hour or so, bun then when I try and run the exe I get the error message below. Has anybody else seen this and does anybody know a solution please, or would moving to a 64 bit OS be the only solution. I have read up on the forum about the different options to reduce the exe size and therefore the amount of memory to build it but to be honest none of them seem to be that great. Thank you, Martin Quote Link to comment
MartinMcD Posted August 3, 2011 Author Report Share Posted August 3, 2011 I should say, I've just tried again and it worked okay. Each time I try I first restart the computer, have only LabVIEW open and do not touch the machine during a build. In the last 4 times I have tried it has worked once. Thanks, Martin Quote Link to comment
MartinMcD Posted August 3, 2011 Author Report Share Posted August 3, 2011 Out of interest, If I don't shutdown my computer before starting the build then I get the error below... (I have a decent i5 processor and 4GB RAM) Quote Link to comment
asbo Posted August 8, 2011 Report Share Posted August 8, 2011 How much virtual memory do you have allocated? Have you tried reducing the number of VIs cached in memory? Have you tried closing out of literally everything non-essential (Outlook, etc) for the build? How does the memory usage look over time - does it spike or is it gradual? Quote Link to comment
Cat Posted August 8, 2011 Report Share Posted August 8, 2011 No help, but some questions/comments: (Not to get too personal, but ) how large is your app? I don't know why something would have memory issues as an executable but not in source code mode. Does it fail immediately? Have you watched Task Manager to see what resources are being used? And FWIW, in the past when dealing with out of memory errors, I tried setting PAE and all the things you're supposed to do to make LV use more memory, and none of them worked very well. I think you have a good excuse for a brand new x64 machine! Quote Link to comment
MartinMcD Posted August 9, 2011 Author Report Share Posted August 9, 2011 Thanks for the tips. I've tried closing everything I can down, I'm now going to try putting LV2011 on a new machine and check if that helps or at least gives more info on the error. Thanks Martin Quote Link to comment
swenp Posted August 9, 2011 Report Share Posted August 9, 2011 Hi Martin, in addition you could try 1) Increase number of GDI objects available click 2) Activate 3GB option for your OS click 3) Save all VIs without blockdiagram before building Cheers, swen Quote Link to comment
MikaelH Posted August 9, 2011 Report Share Posted August 9, 2011 Have you tried to use the 8.x file format? Have you tried to turn on the Enable Debugger? Have you enabled the build log file? Cheers, Mike Quote Link to comment
asbo Posted August 9, 2011 Report Share Posted August 9, 2011 (edited) 1) Increase number of GDI objects available click Interesting suggestion. Just out of curiosity, what makes you think it would be GDI-related? I would think that LV shouldn't need any rendering resources during a build. This could be checked by adding the GDI Objects column to Task Manager, though. Edited August 9, 2011 by asbo Quote Link to comment
swenp Posted August 10, 2011 Report Share Posted August 10, 2011 Interesting suggestion. Just out of curiosity, what makes you think it would be GDI-related? I would think that LV shouldn't need any rendering resources during a build. This could be checked by adding the GDI Objects column to Task Manager, though. I took the hint from our internal knowledge base for building large apps. But if you watch the number of GDI handles e.g. with the Process Explorer during a build, you will notice that the number increases as soon as VIs are loaded into memory. For a build with a lot of VIs this could lead into a problem, but I have never run into this by myself. Quote Link to comment
MartinMcD Posted August 16, 2011 Author Report Share Posted August 16, 2011 Hi all, thank you for the tips. I tried upgrading to LV2011 and I no longer get an executable that won't run (as in my first post) so it looks like that was a bug. However, I do still get a failed build due to the Out of Memory condition. I tried monitoring the number of GDI Objects and also increasing the maximum to 30k in the registry, unfortunately to no avail. Thanks Martin Quote Link to comment
MartinMcD Posted August 16, 2011 Author Report Share Posted August 16, 2011 (edited) From looking around the NI site it seems getting a 64-bit setup would not help as the executable would then only run on 64 machines, plus most of the toolkits I use aren't available either. I've looked at packed project libraries but I keep getting stuck with them. My app consists of multiple dynamically loaded child windows within a main app window, communicating via queues/notifiers and user events - I'm wondering whether it would make sense to create an exe out of each child and then call that instead of the vi. Does anybody have any comments on whether this might be a good/bad idea please? Ahh, I suppose the sticking point would be communicating user events across executables. Hmm... Thanks Martin Edited August 16, 2011 by martin mcd Quote Link to comment
MartinMcD Posted August 16, 2011 Author Report Share Posted August 16, 2011 Done it. By using the /3GB option in addition to /pae then I am limited to a 640x480 16 colour display but it gives me the extra memory I need to do the build. Excellent! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.