> Just installed LV5.1 on a Dell running NT at work. I have a 32 DIO card,
> GPIB card and a DSP board. I keep getting the those INSANE messages (along
> with LV crashing) when I do the following:
>
> 1) Execute LV VI(s)
> 2) Stop VI(s)
> 3) Make any changes
> 4) SAVE
>
> After attempting to save new changes, even small changes like constants or
> indicator sizes, I get the INSANE OBJECT error.
>
> Any clues on resolving this? We have the exact same setup on a Compaq
> running WIN95 with no problems.
>
This sort of problem shouldn't be machine specific. It probably is VI specific.
Insane Objects are objects in a panel, or more likely a diagram that somehow
don't make sense to the editor. The editor performs what is called a SanityCheck
before each compile and save operation to make sure that what it is
working on
looks correct and isn't diagnosed as insane. If it finds something
wrong, it reports
the insanities. The details aren't that important to you, but they can
help us
to fix the VI, if it is fixable. Some insanities are automatically
fixed when the
dialog is put up. This usually means that LV deleted a wire segment or sometimes
the entire wire.
What to do?
Open the troublesome VI and immediately recompile it. Hold down the Ctl
key for
PC or Option key for Mac, basically whichever modifier key would be used
to copy
an object. Then with the key down, click on the Run button. The VI
won't actually
run, but will be Sanity checked and recompiled. This will determine if
the VI is
insane at any point. Do this recompile immediately after loading the VI
to see if
it is corrupt on disk. If you aren't sure which VI might be bad, you
can hold down
Shift and Ctl and click on the run button. This shift tells LV to
recompile all VIs
in memory, and it will determine the state of all the VIs.
If a VI is corrupt when it first loads, then the edits and running the
VI has nothing
to do with the problem. Either the VI was corrupted by a file system
corruption or
an older version of LV did less Sanity checking than the new version.
The reason LV
does the Sanity check during save is to make sure that corruptions
aren't saved to disk.
Basically if the editor has a bug where it corrupts VIs, it will be
caught sooner
rather than later. So, presumably the VI passed the last time it was
saved, it is very
likely that the VI was corrupted on disk. You should definitely run
ScanDisk or some
other Norton or some other utility to check and repair your disk's
directory and cluster
information. Once disks have corruptions, this type of corruption
becomes common as
files are saved into a section that is crosslinked with other files.
Changing one file
changes both, and things get scrambled. So definitely make sure the
disk is good at this
point. If you have a recent backup of the VI, you may want to check it
and see if it is
OK so that you can recover.
If the VI was not corrupted when loaded, but becomes corrupted after
performing some
operations, go ahead and make the edit, run the VI or whatever sequence
of operations
that seemed to corrupt it. At various points do the Ctl-click on the
run button
to determine at which point it goes bad. Record the steps and send that information,
along with the VI to NI tech support via email or snail-mail. If the VI
becomes corrupt
after running, then it is often due to CINs or DLLs. The most common
reason will be that
the CIN or DLL will write past the end of a LV string or array and
corrupted whatever
memory was near it. So be sure to check for that before sending it into NI.
Greg McKaskle