LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview crashes on loading "missing" subvi

Now that I'm confortable with Labview 8.5's  projects explorer, I've been cleaning up my old vi's, and putting them into projects and library's.  This meant that many vi's got renamed or moved, so I had to update those locations in some programs.
 
During moving in the project explorer, I had a few unexpected crashes.  It seems that moving/renaming doesn't always work properly...   I've solved those issues by hand, didn't try to search for a reproducable error condition...
 
But now I'm updating the toplevel vi's that make use of those renamed and moved subvi's, and I'm getting more crashes...When loading the top level vi, it asks for the location of the renamed/moved vi's.  So I browse to it, and select the correct vi's.   Works for about a dozen vi's, and then Labview suddenly crashes.  I've tried ignoring that missing vi, but then it crashes somewhere else. 
So I decided to simply ignore all missing vi's.  That worked, it then loads without crashing, and ofcourse shows lots of missing vi's with questions marks.  I then manually, replaced the ?-vi's with the correct ones.   Took a little, but now the program works.   I can run it without problems, so I saved it, and thought I was ready.  
 
However... now that I load the program again, it still says that it can't find a vi...    Again, if I browse to it, Labview crashes.  If I ignore it, the program loads fine.   If I then look into the block diagram... there's no missing vi!   
 
Why is Labview thinking that there's a missing vi, and is that the reason for the crash?    Does this behaviour sound familiar to someone?
 
0 Kudos
Message 1 of 6
(3,210 Views)
Hi Anthony

Did I understand you right that your VI works fine at this time but only asked for a missing VI during the load ?
Or can`t you execute your VI anymore.
Have you remembered the name of the missing VI, LV is asking for ? So you can find and replace it. Maybe the
VI lurks behind some other code. Are all the VIs saved in the same folder? 

regards
Lars
0 Kudos
Message 2 of 6
(3,179 Views)

In my almost simulataneous post I mentioned a similar problem where LabVIEW 8.5 claims it can't find a vi, with the last search path pointing at the .llb where I manually find and select it. It then sat there for several minutes, with Windows' Task Manager showing LabVIEW as not responding. Finally it "woke up". I will say that this is a system being used to develop a run-time application and the target is currently connected, but it doesn't do this on all my stuff, just this one project. Why it doesn't see the vi in the very .llb that I end up getting it from is a mystery to me.

 

 

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 3 of 6
(3,172 Views)

Hi Lars,

Yes, the VI works fine.  I simply need to ignore the suppedly missing VI, and everything is fine.   I can run it without problems. The run button is not broken.    Yes, I now the name of the VI.  It's really not on the block diagram.  

Every time I open the IV, I get this same thing again.  Labview thinks the VI is missing, searches for it, can't find it, and then ask me to select the correct VI.    If I do that, Labview immediately crashes.  If I cancel that dialog, everything is fine.

To get rid of Labview asking me to find this VI, I made a dummy VI with that name.   That works, in the sense that it doesn't ask for it anymore.   If I then open the VI, and use "search & replace", the VI is listed there...   But if I then search for it, there are no items found.   So it's there.. and not there.  Smiley Tongue

The VI's are not on same directory.  The main program is on a network share.  This "missing" VI used to be part of a device driver, so that's on the C drive in instr.lib.      I converted the device driver to a lvlib, and removed the extra text identifying it as part of it.   So the VI called  "SR5113 - Initialize" is now simply called "Initialize".  

The "missing" VI has something similar...  It was called: "SR5113 Convert Gain to Coarse & Fine" and now I stripped the SR5113. 

Ofcourse, loading the main program, I would have expected to simply point to the new names...  But somehow, that doesn't work correctly.   I then simply did it by hand, but that didn't help.  Somehow, it still thinks that this particular VI should be loaded, although it's nowhere on the block diagram....

Now that I made this dummy VI, the missing VI is also listed in the VI hierarchy... but if I then use "Find All Instances" it isn't there...

Message Edited by Anthony de Vries on 10-11-2007 06:51 PM

0 Kudos
Message 4 of 6
(3,164 Views)
Hi Anthony,

excuse me for the long time of waiting.

It seems to be a crazy issue. You can try to copy all code (STRG +A) into a empty VI (sometimes it helps)
Press STRG+SHIFT+RUN to recompile all the code. Maybe saving the VI for a privious Version can also helps.

Post back with your improvements

regards

Lars
 
Message 5 of 6
(3,129 Views)
Hi Lars,
 
The Ctrl-A approach worked great.  No problems anymore.   
 
Thanks a lot! 
 
Anthony.
0 Kudos
Message 6 of 6
(3,120 Views)