LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabView 7.1 crashing on exit of VI

LabView 7.1 has been crashing on me recently when I go to quit out of running my main VI.  I really hope that someone will be able to give me a hint as to what I'm doing or not doing that might be causing this crash, so that I can make it stop happening (I have a communications VI running in its own thread on the side, for instance, but I cause it to quit by checking a global variable that gets set by my program during cleanup).
 
I can't post the VI as it's company property, but I get the following error description:
 
AppName: labview.exe  AppVer: 7.1.0.4000  ModName: lvalarms.dll
ModVer: 7.1.0.27  Offset: 0000771a
 
And when I click for more details, I can't copy the lots of information, so instead I've attached the file that it says is part of the log.  If there's any more useful information I can give you than what's below, let me know.
 
Thanks in advance for any help!
 
-Joe
0 Kudos
Message 1 of 7
(3,593 Views)

Hi Joe,

That doesn't look like a standard LabVIEW error log. Is that from a Dr. Watson error or something similar? Also, when you restart LabVIEW, does it give you any indication that something was wrong or that it shutdown prematurely the last time it ran. If so, you should have an option to contact NI and send the resulting error log.

Regards,
Chris J

0 Kudos
Message 2 of 7
(3,555 Views)

Hey there Chris,

Thanks for the feedback.  I didn't get any indication from LabVIEW about it crashing when I started back up again, so maybe it wasn't a LabVIEW error log at all.  I actually managed to resolve the problem - apparently I didn't give the side communications thread enough time to notice the global had changed to "Quit", and when the main VI front panel closed (as I do manually) before the side process quit, it gave that error.  Giving it time to quit first eliminated the problem.

If I run into the problem again ever, I'll look into the error message more and post again.

Cheers!

-Joe

Message 3 of 7
(3,550 Views)
Joe,

I have not crashed LV that way, but I often use two-way communication to eliminate the possibility of premature shutdown. The main loop issues a "Halt" command. The secondary loop receives the command, performs any shutdown procedures, then sends a "Stopped" status message immediately before stopping the loop. The main loop stops after receiving the "Stopped" status from the secondary loop(s). I usually use queues, but globals can work also. This approach does not depend on waiting a preset time which may occasionally not be long enough.

Lynn
0 Kudos
Message 4 of 7
(3,547 Views)

Lynn,

Good idea!  I'll consider putting that in the next time I do upgrades on this product.  🙂  Thanks for the tip.

-Joe

0 Kudos
Message 5 of 7
(3,542 Views)

I actually had some similar problems with labview crashing on close... though I don't know what exactly was causing the problems I can tell you this much...

My original labview setup was using a bunch of globals as well as sending vars through wires into various subvi's when they were loaded.  I changed the entire program so that instead of loading subVIs the regular way I am now using my "main menu" screen as a loader which uses VI server to process each subVI.  I'm still using a sufficient amount of globals, though no wiring whatsoever.  I've eliminated almost all wires from my program using VI server, and VI server allows me to decide when to close all of the VI refs.  Because of using a loader screen with VI server, I know exactly when each and every bit is loaded in the various initialization sequences as well as closing sequences. 

Now, labview doesn't crash.

I'm sure that's no help, but just something to consider and go "Wha?"

jonathan

Oh and switching the the VI Server loader method also increased the performance of my software 10 fold, no joke. (for imaging software thats AWESOME!)

0 Kudos
Message 6 of 7
(3,536 Views)

Jonathan,

Interesting idea - I've been looking into a overall calling VI, for entirely different reasons I'm sure, but one of the issues I encountered was that I couldn't figure out how to the have the top-level calling VI not show it's front panel while I loaded and processed the others.  Any suggestions? 

(I suspect this is different to how "VI Server" works, but I don't have any experience with that, so I'm assuming they're similar for the moment).

-Joe

0 Kudos
Message 7 of 7
(3,533 Views)