[IGN-7712] Losing Perspective Page URL Configuration

I randomly lose the perspective page url link configuration once every 1-2 months. It just goes blank and every link is broken. I have to restore from a project backup. Has anyone else faced this issue? Any idea what could cause it or how to fix it?

2 Likes

Hello Erika,

When you say "it just goes blank" are you referring to the address bar on your browser? If so, could you please post a screenshot?

Yes, this has happened to me also on a couple of occasions, and on different gateways (including one on the latest update).

The entire page configuration would just randomly gets wiped with no explanation or even any anomalies in the logs. I now check before every save I do. Not that it happens too often, we're talking a 1/1000 chance occurrence.

What we do now is export from the designer a zip containing just the page config, so if it does accidentally get saved with that bug and they lose all their screens, we can re-import that zip and restore the page config on the fly. See attached image.

Adding on to this, because it does continue to happen every now and again.

Once the page configuration disappears, it will not come back on it's own. Exiting out of the designer and logging back in, trying on a different login, and even a different system, once it's been lost in the designer, it does not come back until you either restore the config from a backup, or add it back yourself manually.

This happened this morning once again. As soon as I launched the designed and noticed it had gone, I checked the gateway logs. No sign of anything relating to this in the logs.

Are the developers aware of this bug, and if so, are there any ways we can stop the designer from arbitrarily deleting the page configuration in the first place?

1 Like

We're aware that this happens occasionally because we see it every so often on the forums, but identifying the root cause for something we can't replicate is much harder than you'd probably think. There are many different areas that could cause something like this, and yet, none of them should. It's pretty dangerous to start placing new exception handling in areas that for all intents and purposes seem to be very stable without potentially impacting something which is currently working.

The missing configurations are most likely a symptom of the relevant config.json file becoming an empty json. The next time you encounter this, I'd appreciate you taking a look at the C:\Program Files\Inductive Automation\Ignition\data\projects\ProjectNameHere\com.inductiveautomation.perspective\page-config\config.json file.

When working correctly, that file should look something like this:

{
  "pages": {
    "/bindings/singleinstance/main": {
      "viewPath": "Bindings/SingleInstance/Main"
    },
    "/components/embedding/flexrepeater/instanceloading": {
      "viewPath": "Components/Embedding/FlexRepeater/InstanceLoading",
      "title": ""
    }
  },
  "sharedDocks": {
    "cornerPriority": "top-bottom"
  }
}

What I suspect is happening is that file has somehow become a json file with no content, as we get the same sort of issue sometimes with view.json files. We could also use some additional insight into the machine the Gateway lives, such as OS type and version.

1 Like

It also happened to me today, it just went blank. Links still seem to be working.

Is there a ticket for this bug?

Some references:
Page Configuration Disappearing in Designer?
[BUG] Page config “pages” dictionary emptied. Page Configuration lost

@tupanaster

That file has my latest configuration. I took an old back up and rebuilt from there.

I got that idea from @jacob.mills

Something new that I did today was pasting entire lists of dictionaries as parameters in dock views to test my docks. I also tried pasting a dataset but that didn't work... I got two weird lists instead.

My server settings:
image

image

I've updated our internal ticketing to better track this moving forward. For anyone encountering this, one workaround in an older ticket referencing this issue suggests switching to a different project and then switching back to the project with the missing configuration seems to jump-start the Designer into recognizing the page configuration. The issue seems to be that the Designer is just not correctly loading the configurations - and NOT that the configurations have been deleted or corrupted.

It happened to us again, and I took a copy of the two .json files after it broke. They are attached.

We have a back-up of those two files, so we just paste them back in the directory, re-open designer and save. But it still brings the entire site to a standstill until we do it.

config.json (76 Bytes)
resource.json (340 Bytes)

Interesting. @tupanaster suggested that his configurations were in place, whereas your file suggests otherwise. This suggests two different scenarios which result in this behavior, with one being more worrisome as it actually impacts the integrity of the data/resource. I'll update the ticket.

Yes, in all the cases this has happened, we lost the configuration and caused havoc.

What actually happens is that we open designer, and unbeknown to us, the configuration is lost. We make other changes, save, and then the page is broken in the plant. We now strictly check that the config is still there before we save, each and every time.

It's worth mentioning, that we do have a parent project, which also has the page configuration. But this is not inherited. The configuration is only lost in the child project.

I'm not sure if it would be the same bug or a separate one. I'm assuming separate.

We've had this occur one time to our session-props config across all projects on our gateway (All custom session param bindings disappeared). When I inspected the props.json file before restoring the backup, all of the properties were there but all of the bindings were missing.

So, today my file is broken.

I just opened the designer, made a change elsewhere and saved. I can see the time change on the file.

I'll start doing that from today.

Edit 1:
Later today I reopened the designer. The page configuration is not showing in the designer but I can see that the file still has data from the last time I saved. If I save, I expect it to disappear.

Some time later... that's exactly what happened.

Without closing the designer I pasted the backup. It never showed up in the designer but it was not deleted after several saves. When closing and reopening the designer, it didn't show up and it was deleted after a save.

Additional info: the project inherits from another one. I was working on both at the same time when it started to happen. I'm also using a VPN to the Gateway. So, maybe changing and saving at the same time over a VPN is another variable to take into account.

Edit 2:
Although it's easy to paste back the file, it won't show up in the designer so I would have to use import instead to be able to work on it.

Edit 3:
Maybe it's unrelated but I can still mentioning it.
It started happening after passing a list of objects to dock views using system.perspective.alterDock()
I started to get to Gateway disconnections when trying to test that page.

Websocket connection closed unexpectedly. code=1009, reason=Text message too large: (actual) 2 099 813 > (configured max text message size) 2 097 152, codeMeaning=Message Too Big, codeDescription=The endpoint is terminating the connection because a data frame was received that is too large.

Websocket Disconnected Because DataFrame/Message Too Large with Perspective

Gateway Crashing when passing view parameter

I wonder if others were doing a similar operation when it started happening to them.

I have been facing this exact same problem working in 2.1.22, and was hoping it would be repaired when we patched to 2.1.37. I will be certain to grab that .json file next time it happens, just curious if anyone else is still having this same issue?

same here

1 Like

+1 for a similar issue - not page configurations, but session custom properties. Details:

  • Affected project inherits another project for scripts/templates
  • Occurred in a Docker environment
    • Occurred after hibernating laptop with containers and designer running
    • Designer launcher is pointed to [projectname].localtest.me:port, rather than localhost:port.
      • This often causes weird spamming of gateway connection lost/restored messages if my laptop un-hibernates without an internet connection. As I understand, this is effectively because localtest.me does some 127.0.0.1 redirect black magic when you have an internet connection.
  • Went to save my gateway, realized all session custom props were gone (even after restarting designer/gateway). Page configs were still present.

I restored the custom props by hand, so I can't check props.json. If it happens again, I'll keep this post in mind and update accordingly!

1 Like

@Cory.grube that's interesting that you had the designer running when noticing these changes. I had mine up over the weekend, checked the page configurations and they were there, and hit save then commit and they were gone.

This outage directly affected critical infrastructure for my company in the middle of a switching order, so I was unable to pull the file since my team needed ignition back up & running ASAP.

I will be sure to close out the designer when its not in use moving forward, and will continue to check between commits.

2/29 edit:
Been two days, launched the designer & saved first thing. Lost all our views and had to restore from backup.

3/14 edit:
After updating to the most recent version of windows server 2019 the frequent crashes are far less frequent. It happens now about once a week, regardless of whether or not the designer is left open. I updated how frequently backups are triggered to prevent loss of progress, and allowed the designer to use more memory too, it seems to have helped.