Jump to content

Exe build by App Builder will not run - gives error


Recommended Posts

Posted

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.

post-13935-0-40106400-1312360822_thumb.p

Thank you,

Martin

Posted

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

Posted

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)

post-13935-0-34515400-1312368542_thumb.p

Posted

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?

Posted

No help, but some questions/comments:

(Not to get too personal, but :P ) 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!

Posted

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

Posted

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

Posted

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

Posted (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 by asbo
Posted

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.

Posted

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

post-13935-0-37344700-1313495035_thumb.p

Posted (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 by martin mcd
Posted

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!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.