LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Recursive reference with no shared reentrancy

any ideas how to fix this problem. keep getting told :Bad linkage to subVI

                                                                                            : Recursive reference with no shared reentrancy.

 

I know how to relink the first problem just when I fix the second problem from steps on google it seems to berunning in a continuous loop?

 

 

                                                                     

Download All
0 Kudos
Message 1 of 5
(3,154 Views)

You have a VI that's trying to call itself - this is a recursive call. You can only do a recursive call in LabVIEW if the VI is set for shared clone reentrancy (in VI Properties -> Execution). However, in your case this looks like a really bad idea, because if sending the email fails, it will try again, and if that fails, it will try again, etc - in an infinite loop that will stall your program and eat up all available computing resources. Why would you want to do that?

Message 2 of 5
(3,136 Views)

@KevinO298 wrote:

I know how to relink the first problem just when I fix the second problem from steps on google it seems to berunning in a continuous loop?                                                                


Your subVI reentrancy is set to "preallocate clones", which is not allowed for recursive calls (i.e. when a VI calls itself, as in your case). The compiler cannot know how many clones are needed and only shared clones are thus allowed.

 

I agree with natahnd that your code logic seems flawed overall. What are you actually trying to do?

Message 3 of 5
(3,130 Views)

Sorry forgot to mention this isnt my code, i inherited with a new job as part of college and old coder has left so trying tofigure it out myself. The code was working fine but while i was editing may have edited something i shouldnt have and am now seeing these error that i cant figure out how to resolve

 

0 Kudos
Message 4 of 5
(3,103 Views)
Do you have a source control system or other backup of the original code so you can see what you changed? We've already explained the reason for the error and why the current code is a bad idea. There's no way to guess what you might have changed. If you don't have a source control system, set one up immediately. Consider Mercurial, which I believe you can set up locally without a server, and move to a server later if you have more developers working on the same code later. (Of course, if you use a source control system local to your machine, you should have some other backup.)
0 Kudos
Message 5 of 5
(3,073 Views)