LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Compiler Error - no spill candidate

I am trying to convert a LabView 2012 project to LabView 2014, but have run into problems, namely I get the following error when I open the Main VI:

 

Compiler Error. Report this problem to National Instruments Tech Support. out of regs - no spill candidate found, reg 20576.

 

This VI is very large, so trying to find the source of the error doesn't seem to be trivial. 

 

I have opened up the Heap Peek to delve into the VI and found the following:

 

For the FPHP the following entries are red:

693(1C) SelList
50343(40) BkUpListList

 

For the BDHP the following entries are red:

694(20) SelList

50348(40)BkUpListList

 

What does this information tell me? And how can I use it to fix my problem to make this VI compile?

 

0 Kudos
Message 1 of 6
(3,365 Views)

Having a VI that is very large is generally a bad sign - if it's too large, it might be that it is having trouble trying to convert it. Can you break the VI down into SubVIs before you convert the project?

 

How big is the VI / block diagram? You should try to keep your VIs to one 'screen' in height/width (to promote good use of SubVIs), but it's OK to have it scroll in one direction.


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 2 of 6
(3,336 Views)

When I say large I don't mean in terms of window space, it all fits in one window.

 

What I mean is I have a state machine with 103 states, with one of those states containing an event loop with 75 cases.

 

Breaking this down into smaller sections is not a small ta

0 Kudos
Message 3 of 6
(3,294 Views)
And when I say large I don't necessarily mean the size of the block diagram in pixels either! Having lots of nested structures / lots of cases makes for a fairly 'complex' VI. Your VI has 103*75 structures in one VI - that's quite a lot!

I definitely think you're running into some limitation in the compiler trying to update the VI. You should either stick with the current version of LabVIEW you are using, or re-factor your VI to move some of the complexity into SubVIs.

Have you spoken to your local NI Tech Support? I suspect they'll probably say the same thing but they might have some other suggestions I don't know about.

LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 4 of 6
(3,252 Views)

The VI has 103 + 75 cases, so 178 in total.

 

Found the source of my problem, one property node that seems to be causing the problem. Put a diagram disable structure around it though and the VI compiles and runs again. Now to figure out a work around to get the functionality of this property node working.

 

The property node sets the input impedance on an NI DMM, and is used with IVI drivers, only executing if it sees a PXI-4071(our only NI DMM, all others are regular bench top). It works fine in a standalone VI, but not within my main application.

0 Kudos
Message 5 of 6
(3,208 Views)
This can sometimes happen when a VI gets corrupted - try copying + pasting the contents of the VI into a new VI and/or re-creating the VI can sometimes fix weird compiler issues like this.

LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 6 of 6
(3,196 Views)