Error 2, LabVIEW: Memory is Full when Building a LabVIEW ExecutablePrimary Software: LabVIEW Development Systems>>LabVIEW Full Development SystemPrimary Software Version: 8.2 Primary Software Fixed Version: N/A Secondary Software: LabVIEW Toolkits>>Application Builder
Problem: I have a very large LabVIEW 8.20 or 8.2.1 application that I need to build into an executable application. When I attempt to build the application, the build fails with either Error 2, LabVIEW: Memory is Full or Not Enough Memory to Complete this Operation. I have plenty of available RAM, and I can build smaller applications without a problem. Furthermore, I am able to build this same application in LabVIEW 8.0 or 8.0.1. Why does LabVIEW give either Error 2, LabVIEW: Memory is Full, or Not Enough Memory to Complete this Operation when I try to build my application?Solution: The LabVIEW Application Builder reports Error 2, LabVIEW: Memory is Full because it cannot find a contiguous memory space large enough to build a resource file before it moves the file into the executable. This is not a bug in LabVIEW, but a limitation in the memory space available to a single process on a 32-bit operating system. You can work around this issue by building a smaller executable. Build a smaller executable by bundling dependent subVI's and dynamic VIs into an external support LLB and distributing it with the built application.
The Application Builder will automatically update all static VI paths from the executable to the subVI dependencies in the support LLB. You must exercise extra care to ensure that dynamic VIs are still referenced correctly because they will no longer be contained within the executable. Use relative paths to point any dynamic VI calls from the top-level VI to their new location in "supportfiles.llb". LabVIEW 8.5 Update: LabVIEW's internal process for moving dynamic and subVIs into an executable now uses a separate process, increasing the available memory space for the build process. While this will help to avoid out of memory issues when building your application without using the workaround, there is still a possibility that building your application will return error 2 due to the memory limitation for each Windows process. In this case, you can either use the workaround mentioned above or adjust the Windows process memory configurations. As of version 8.5, LabVIEW is large address aware, which means you can take advantage of the 3GB and PAE Windows memory configurations. For more information, see the "Extending Virtual Memory Usage for 32-bit Windows" LabVIEW 8.5 Help topic. Note: If this is not the source of your error, check the Related Links section below for further troubleshooting. Related Links: KnowledgeBase 3ZNDGRS9: LabVIEW "Memory is Full" Error KnowledgeBase 2L5ER14I: LabVIEW Error 2 "memory is full" and/or Windows Error "not enough memory to complete this operation" when using TCP/IP in LabVIEW Attachments:
Report Date: 12/19/2006 Last Updated: 09/20/2007 Document ID: 44IHRE2F |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


