My view, or maybe the contents of that view, appear and disappear on a whim

We have an issue that's dumbfounded us as well as IA support. We have a view that will seemingly appear or not appear on a whim, making it impossible to reliably reproduce.

The view in question, setPointCard2, uses 4 layers of nested views, all of which are pulled from an inherited parent project. setPointCard2
is instantiated on a popup, handed a tag path, and most of the time some float & integer values appear in the popup, both in designer and in web browser. During all of our development and testing there were no issues, however when it came to deploy to production, the view (or maybe the contents of one of the nested views) is blank. Either because it's not there, or because it's there but the tag path has been lost somehow, causing it to appear empty.

After noticing this, we went back and were also experiencing the same issue in our development environment.

Reasons we've found this hard to troubleshoot:

  • Not all instances of this popup have the bug at the same time. Sometimes it's only in 1 instance out of 3, sometimes it's all 3, sometimes it's none
  • It's not consistent which instances it's currently happening in. The 2nd instance of the popup could be broken in browser, but working in designer, or vice versa
  • You can be in designer, editing the popup with the problematic view which is being passed a tag path and displaying it correctly, copy that view and paste it right beside itself on the same screen, and have the new version broken but the original working

I'm currently at a loss of what else to try, and IA support is as well. Has anyone experienced anything like this or have any thoughts on next steps?


Is there something consistent about the tagpath with the ones that are failing? Maybe spaces in names or other characters that might be causing funny business?

What version of Ignition? Does refreshing or resizing your window ever fix the issue, or do you have to load an entirely new session to try getting it to change between working/not working?

You might try using system.perspective.print() to examine certain values in the console of your browser. It looks like the first couple views contain a Flex Repeater. How are its instances being generated? If those aren't hardwired, but generated via script, you might put a debug print in an onChange handler for the instances to see if they contain what you expect them to contain. If they're empty, put a try/except around the script that is supposed to populate them to see if there's an Exception keeping it from executing properly.

1 Like

I've seen this issue as well and it's most certainly a bug. It seems to happen when you've got many layers of nesting of views, I think I saw it on a very early implementation of mine which is still running unchanged in new releases where there're 5 nested layers from memory where in layer 3 there's a flex repeater repeating a view with embedded views. When it loads, it's random which ones fail to pass the params in properly, but it's more often than not. It seems to fail passing some params from layer 4 to 5. I'll get some more info a bit later.

3 Likes

I've had some funny issues with bindings on view params, can you show us a screen shot of all your view params? Are there by any chance bidirectional view params that have a binding on them?

To add to what victor said, I've specifically seen issues with using array param type. That is a known bug.

Hi all, sorry for the late response. We're on Ignition 8.1.32, using Perspective. I don't think there's anything consistent about the tagPaths that are causing these periodic failures, and I've ensured all tags are Enabled.

The issue is so intermittent and unpredictable that I haven't been able to identify what fixes/causes it. During our testing when it was happening the most, we did lots of refreshes, resizing, reloading, opening and closing designer, etc, and nothing was notably consistently. Sometimes it would also fix/unfix itself while doing nothing and just staring at it. The most recent step we took during debugging was adding a label to the bottom-most template that displays the tagPath of the tag that should be showing, and when that always successfully showed the tagPath, we removed that label, and we've been unable to reproduce or see the bug a single time since then. Like adding and deleting a random component has temporarily fixed it?

We do use Flex Repeaters down this nested path. They are bound by direct tags and don't use any scripting, but if there's a known bug around Flex Repeaters and/or Array Param types, it sounds like that could definitely be what I'm experiencing. If there's any documentation on those bugs that's available I'd love to look at it.

Here's all the params being sent down the line:

Note: None of the params are bidirectional

Those aren't params. Go into those views and look at the params.

Sorry, here they are:

We have noticed something similar to this on some of our projects and are able to recreate it relatively consistently by passing tag paths through 4+ embedded views and having ~50 components using the same path on a perspective screen. It would almost be random which ones would be working and which would throw a null.
Our solution was to remove a layer or two of embedded views or find a way to generate the tag path on each components load instead of passing it.

1 Like

It looks like you are using array type in places. I'd contact IA again and have them look up that bug ticket for array type. Last I checked there's no workaround.

1 Like

you should use a binding on instances, instead of using several bidnings on its childeren. arrays dont to have bindings on childeren