LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Fatal Internal Error : "fpsane.cpp", line 442 when moving a wire label into a flat sequence structure

Hello all,

 

This is a bug report.  I have figured out a work around, but I hope that reporting this bug will help it get fixed in a future version of LabVIEW.  Note that I am using LabVIEW 2010 (10.0.1), so that may have already happened in LabVIEW 2011 or later, but I did a quick search for this issue and didn't see it already on the forums, so I figured I should report it just in case it is still an issue.

 

I am consistently getting a Fatal Internal Error : "fpsane.cpp", line 442 when I save my VI after I move a small set of items on the block diagram into the second case of a flat sequence structure.  I will attach screenshots of my block diagram before and after the move, along with the error dialog box.  Note that after the move there is an invisible highlighted item far below the flat sequence structure.  Expanding the structure below the item does not make it visible, and dragging a selection box around the small group of moved items at the top of the structure results in the invisible item being highlighted again, even though my selection did not come anywhere near it.  I noted that the wire label "Table Exists" is out of place after the move - it is half hidden underneath the string wire at the bottom of the moved code.  Selecting the label results in the invisible item being highlighted (where by highlighted I mean has the moving box of dashed lines around it), and dragging the wire label moves the label but also moves the invisible item, although the invisible item only moves horizontally, not vertically.  Saving after moving the item still results in the crash.  Saving after turning the wire label off still results in the crash.  Fortunately, turning the wire label off before moving the group of items fixes the problem, i.e. I can save and the crash no longer occurs, even if I turn the wire label back on after the move.

 

Please let me know if you have any questions about this report or the actions I took to reproduce the problem.  I'm sorry that the code is proprietary and so I cannot attach the VI, and in fact I have blacked out another part of the code that is unrelated.

 

Hope this helps!

 

-Joe

0 Kudos
Message 1 of 8
(3,406 Views)

Three attachments per post apparently, so here is the error dialog (not that there is any new info in it).

 

-Joe

0 Kudos
Message 2 of 8
(3,405 Views)

Hello Joe,

 

 If you copy and paste the code to a new VI, does the same crash occur? This would be due to a corrupt VI. If you hide the wire label before moving the code, does it work?

 

It is possible that the issue is related to CAR #285887. This CAR is related to running a VI, stopping it, and then trying to save. It causes the same error and was fixed in LabVIEW 2011

 

Regards,

 

Jason D

Applications Engineer

National Instruments

www.ni.com/support

0 Kudos
Message 3 of 8
(3,354 Views)

Yes, new code has the same effect, even without copy/pasting.  In fact, I duplicated the error by creating a new VI from scratch, placing a False boolean constant on the block diagram, connecting it to a boolean NOT, labelling the wire "Test Label", placing a flat sequence structure to one side of that code, saving the VI (which worked fine), and then moving the code into the structure and trying to save again, which caused the crash.

 

As I mentioned in my first post, hiding the wire label before moving it avoids the issue.

 

I do not know if this is related to the issue you mentioned.  I would have a hard time seeing how it would be, without looking at the code implementation details, as the setup is very different outside of the fact that the crash happens when the VI is being saved.

 

I've attached the test VI described above.  Hope that helps!

 

-Joe

0 Kudos
Message 4 of 8
(3,340 Views)

SnowMule,

 

Wow, and oldie but goodie post there!  Thanks for the advice, but I actually don't have a problem; turning off the wire label before moving the code worked fine for me.  I was just hoping to help out future LabVIEW development.

 

Cheers,

 

-Joe

0 Kudos
Message 6 of 8
(3,334 Views)

The solution (not a workaround) is to lose the sequence structure. You don't need it - you never need sequence strructures.

 

Mike...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 7 of 8
(3,324 Views)

Mike,

 

You are absolutely correct, of course; In this instance I was just feeling too lazy to add an error output to an old legacy VI which didn't have one, which would be the preferable way to enforce the timing I needed, so I used a flat sequence structure as a faster work-around.

 

However, the bug still needs to be reported, just like if there was a bug in the "goto" command in a C compiler.  Just because no one should use it for good coding style doesn't mean the compiler doesn't need to worry about it working correctly.  Smiley Wink

 

-Joe

0 Kudos
Message 8 of 8
(3,322 Views)