08-06-2020 11:04 PM
Hi all,
There appears to be a compiler bug when an IPE accessing a map is placed inside a for loop. Steps to reproduce the bug:
The snippet below can be dragged on to the BD and will also throw the compiler error.
Is this a known issue?
Solved! Go to Solution.
08-10-2020 03:26 PM
Thanks for reporting this behavior. I have reproduced the problem with your instructions, and opened Bug #1106870 for our team to review.
All the best,
08-10-2020 04:05 PM
@Dataflow_G wrote:
Hi all,
There appears to be a compiler bug when an IPE accessing a map is placed inside a for loop. Steps to reproduce the bug:
- Create a map constant.
- Create an IPE for map access, and wire the constant to the IPE border node.
- Wire any required inputs so the run arrow isn't broken.
- Create a for loop around the IPE structure, but not around the map constant. This will cause the map to auto index. The wire to the IPE becomes a cluster, but doesn't break.
- Run the VI. A compiler error appears: "copy cvt, csrc=0x50"
The snippet below can be dragged on to the BD and will also throw the compiler error.
Is this a known issue?
When you have a "MAP" input node into the for loop, the map is converted to a cluster array; that is, it is no longer a map. Reverse some of steps, for loop first, then IPE, get a broken wire. You need a shift register on the side of the for loop to access the map.
mcduff
08-10-2020 08:48 PM
@mcduff wrote:
When you have a "MAP" input node into the for loop, the map is converted to a cluster array; that is, it is no longer a map. Reverse some of steps, for loop first, then IPE, get a broken wire. You need a shift register on the side of the for loop to access the map.
mcduff
I know I did things a little backwards, and was expecting the auto-index cluster behavior and broken wire after adding the for loop. So it was interesting the wire didn't actually break, and after running the VI to see what would happen produced the compiler error.
08-11-2020 08:06 AM
So the bug here is the IPE map node even accepting a non-map datatype?
Just curious. Never used maps, but like to keep up to date.
08-11-2020 10:34 AM
@Intaris wrote:
So the bug here is the IPE map node even accepting a non-map datatype?
Just curious. Never used maps, but like to keep up to date.
I agree with your assessment. I would classify it as an editor/IDE type bug. You should have a broken wire but the editor/compiler does not catch it. If you reverse some of the steps, the editor catches it.
mcduff
08-11-2020 03:06 PM
Huh... If you wire the cluster directly, the IPE allows it...
Then create an output indicator...
Then Undo the Create Indicator (I used Ctrl+Z)...
And *then* it breaks. (Just selecting/deleting the indicator does not break the wire.)
It's probably all the same bug, but it's interesting to tinker and see what happens.
@mcduff wrote:
@Intaris wrote:
So the bug here is the IPE map node even accepting a non-map datatype?
I agree with your assessment. I would classify it as an editor/IDE type bug. You should have a broken wire but the editor/compiler does not catch it.
I agree, too: It seems to be something that the Editor should not allow. (Not that my agreement adds much at this point. 😄)
-joeorbob
08-11-2020 04:11 PM
Better late than never?