LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Another LabVIEW 2019 case structure bug.

There seems to be an issue with value entry for the case structure in 2019. I did this same range in 2018 without issue. 

 

To reproduce, open the VI. paste the range in the comment into the case structure.

wait for one second and LabVIEW crashes. 


Surprise! Let me know if its just my machine but I expect not.

0 Kudos
Message 1 of 10
(2,934 Views)

I see the same crash, so it's not just you.

 

(You say "another". Are there other bugs with the case structure?)

0 Kudos
Message 2 of 10
(2,921 Views)
Could you also post an image? Saving to previous is obviously a bit weird, but I like to know what this is about.
0 Kudos
Message 3 of 10
(2,893 Views)

wiebe@CARYA wrote:
Could you also post an image? Saving to previous is obviously a bit weird, but I like to know what this is about.

altenbach_0-1585332412874.png

 

Message 4 of 10
(2,864 Views)

@altenbach wrote:

I see the same crash, so it's not just you.

 

(You say "another". Are there other bugs with the case structure?)


Another 🙂 I was referring to this post: 

Error Bug in Case structure LabVIEW 2019 

 

I was just running short on titles.

I also attached a previous version. 

0 Kudos
Message 5 of 10
(2,845 Views)

Can we reproduce the bug on our machine without downloading your VI ?

 

What steps do I need to do?

 

Just in case 🙂

0 Kudos
Message 6 of 10
(2,807 Views)

So i created the vi from scratch multiple times. I think the killer is the range used.

I tried both the decimal version and the hexidecimal.

 

So basically all you need to do is create a U32 constant wire it to the selector terminal of a case structure, then write the following string into the case structure.

if hex radix:

7F800000..7FFFFFFF, FF800001..FFFFFFFE

or for decimal people:

2139095040..2147483647, 4286578689..4294967295

0 Kudos
Message 7 of 10
(2,798 Views)

What if you try ranges that are slightly smaller?

Or just one range and not the other?

Or each half the size as you picked?

What if you wired a U64 constant to it?  or an I32?

If you can find a range that does work, and then a very similar range that doesn't work, maybe it'll find some clues.

0 Kudos
Message 8 of 10
(2,781 Views)

@RavensFan wrote:

What if you try ranges that are slightly smaller?

Or just one range and not the other?

Or each half the size as you picked?

What if you wired a U64 constant to it?  or an I32?

If you can find a range that does work, and then a very similar range that doesn't work, maybe it'll find some clues.


The 1st thing i notice is that the range is rewritten as ""..80000000, FF800001..FFFFFFFE""

I32 works

U64 works

I64 bombs

Splitting the ranges, didn't crash directly, but when i r-clicked to add a new case for the 2nd half it crashed. The case range is rewritten as above.

 

I think i've found it! Just writing ..7FFFFFFF crashes the U32 case. It gets rewritten as ..80000000 and something spins out of control!

 

Just having 7FFFFFFF and 80000000 works fine, it's the ".." that bugs out. In fact, if i write ..80000000 the case range changes to "0". I'm pretty sure those aren't equivalent ...

 

 

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
Message 9 of 10
(2,670 Views)

I went ahead and validated this internally and have submitted bug #997753 in regard to this issue. It is worth noting that if I changed my data type from U32 to a DBL I was able to paste one of the two cases and then switch back to U32. However when I did both separated by commas and repeated he process LabVIEW ran but upon close gave me an internal warning message box. 

Message 10 of 10
(2,615 Views)