Insane Objects
Firstly, there is no need to necessarily report this to NI, as they do know about insane objects. Secondly they are NOT just bugs, insane objects can be generated as part of the LabVIEW verification process.
The insane object message is what LabVIEW puts in a dialog when one of the objects on the diagram does not meet its "checksum". In other words, this object isn't in a state we expect it to be in. Most of the time these errors are not fatal -- we simply put the object in the state we do expect. But it raises questions about how the object got into that bad state and what might have been done with that object between the last time we checked and it was good and the time it became insane.
The insane object messages are something we work on with each version of LV. But as it is a generic error message that can apply to anything from a simple cosmetic to the front panel itself, you'll still see them in any version of LV that has a bug -- a fact of life unfortunately for the foreseeable future. If you get such a message, it is good to check the known bugs of LV at ni.com and if the particular insanity in your dialog is not listed, report the insanity to NI technical support.
The cryptic nature of the message can be deciphered as follows: Insane object at FPHP+44 in "name.vi": {dsitem} 0x400: Panel (FPSC)
- FPHP -- this will be either FP or BD for "front panel heap" or "block diagram heap"
- 44 -- this is a number indicating which object
- name.vi -- which VI had the insanity
- {dsitem} 0x400 -- really only meaningful if you know how our internals work; I'll skip it here
- Panel (FPSC) -- the type of object that has problems. The four letter codes are usually descriptive (COSM for a cosmetic or simple drawn part, SGNL for a signal aka wire)
Most of the time, deleting the offending object and recreating it from scratch is sufficient to fix your VI and allow you to continue working.
Using The Object Browser
There is also a way to delete an insane object. When you get an insane error, you will get a code that shows the object that is insane - write down that code and then:
- Close LabVIEW
- Put the key "LVdebugkeys=True"in the LabVIEW.ini file
- Open your VI
- Press CTRL+SHFT+d, then press CTRL+SHFT+h (I had to press CTRL+SHFT+h+d). This will turn on an object browser.
- In the top left list box, select the element that contains the name of your VI and the letters BDHP
- In the top right listbox, find the line that begins with the error number.
- Click on the F button to find the offending object.
- Delete this object and recreate it. It will ususally be a wire.
Care must be taken with this object browser. It has the possibility to change states of objects and doing that without knowing EXACTLY (and I think only a few people in the LabVIEW developer team really do) what you are doing can completely mess up your VI or maybe even more.
So don't experiment in the Object Browser with key short cuts or such on your valuable multi man week VI for which you have forgotten to make a backup!