Perspective Issue (Designer only) - Unable to deserialize resource ___

Tried the following:

  • Removing SSL
  • http gateway
  • https gateway
  • Reinstalling the Perspective Module
  • Restarting the server

We recently updated to a new server and took the opportunity to update our Ignition Gateway at the same time and to instate SSL security. After restoring our backup from the old server to the new gateway, perspective has not worked in designer mode.

Unable to deserialize resource ___

10:17:48.392 [Designer-Startup] INFO designer.main - Downloading… [+0]
10:17:48.557 [Designer-Startup] INFO designer.main - Cleanup… [+165]
10:17:48.562 [Designer-Startup] INFO designer.main - Initializing UI… [+170]
10:17:48.647 [Designer-Startup] INFO tags.manager.gwinterface - Tag poll rate changed to 250 ms
10:17:48.656 [DesignerExecEngine-1] INFO tags.subscriptions - Changing connected quality to ‘Good’
10:17:54.214 [Designer-Startup] INFO designer.main - Starting module: Vision [+5822]
10:17:54.598 [Designer-Startup] ERROR Scripting.ScriptManager.Furnace_RecipeEdit - Warning: collision at system.util.modifyTranslation
10:17:54.598 [Designer-Startup] ERROR Scripting.ScriptManager.Furnace_RecipeEdit - Warning: collision at system.util.translate
10:17:54.599 [Designer-Startup] ERROR Scripting.ScriptManager.Furnace_RecipeEdit - Warning: collision at system.util.initialize
10:17:57.911 [Designer-Startup] INFO designer.main - Starting module: Perspective [+9519]
10:17:59.865 [Designer-Startup] INFO Perspective.Designer - Starting up Perspective module. Mode: Activated
10:18:48.573 [Designer-Startup] ERROR Perspective.WorkspaceRootConfig - Unable to set up session props adapter
com.teamdev.jxbrowser.navigation.TimeoutException: Failed to execute task within 45 seconds.
at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadAndWait(NavigationImpl.java:269)
at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:125)
at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:91)
at com.teamdev.jxbrowser.navigation.internal.NavigationImpl.loadUrlAndWait(NavigationImpl.java:76)
at com.teamdev.jxbrowser.engine.internal.EngineImpl.newBrowser(EngineImpl.java:540)
at com.inductiveautomation.perspective.designer.workspace.pageconfig.SessionPropsAdapter.(SessionPropsAdapter.java:79)
at com.inductiveautomation.perspective.designer.workspace.pageconfig.WorkspaceRootConfig.init(WorkspaceRootConfig.java:40)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.(ViewWorkspace.java:137)
at com.inductiveautomation.perspective.designer.DesignerHook.lambda$startup$2(DesignerHook.java:222)
at java.base/java.util.Optional.ifPresent(Unknown Source)
at com.inductiveautomation.perspective.designer.DesignerHook.startup(DesignerHook.java:203)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.startup(IgnitionDesigner.java:1931)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.startupModule(IgnitionDesigner.java:1171)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.lambda$loadProject$7(IgnitionDesigner.java:975)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:974)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler.lambda$new$2(IgnitionDesigner.java:1995)
at java.base/java.lang.Thread.run(Unknown Source)
10:18:49.282 [Designer-Startup] INFO designer.main - Starting module: Symbol Factory [+60890]
10:18:49.289 [Designer-Startup] INFO designer.main - Starting module: Alarm Notification [+60897]
10:18:49.544 [Designer-Startup] INFO designer.main - Starting module: SFC [+61152]
10:18:50.589 [Designer-Startup] INFO designer.main - Starting module: OPC-UA [+62197]
10:18:50.589 [Designer-Startup] INFO designer.main - Starting module: Enterprise Administration [+62197]
10:18:50.614 [Designer-Startup] INFO designer.main - Starting module: SQL Bridge [+62222]
10:18:50.908 [Designer-Startup] INFO designer.main - Starting module: DNP3 Driver [+62516]
10:18:50.908 [Designer-Startup] INFO designer.main - Starting module: Serial Support Client [+62516]
10:18:50.911 [Designer-Startup] INFO designer.main - Starting module: OpcCom [+62519]
10:18:50.912 [Designer-Startup] INFO designer.main - Starting module: Reporting [+62520]
10:18:50.962 [Designer-Startup] INFO reporting.Designer - Starting up Reporting Module. Mode: Activated
10:18:51.381 [Designer-Startup] INFO designer.main - Initializing Scripting… [+62989]
10:18:51.906 [Designer-Startup] INFO designer.main - Initializing UI… [+63514]

Any help will be appreciated,

Thanks,
Michael Cauley

What Ignition version is this? What OS is the server running? Are you directly connected to it, or using RDP or some other remote tech? Can you launch a designer on another machine fully remote from the server?

The failure seems like the designer can’t start up JxBrowser, but doesn’t give any indication as to why.

image

image

The designer is being launched from my laptop on the network.

Your question prompted me to try running it from the server and during the download process, I noticed the ‘3. Provide Firewall Access’ portion and decided to check on that.

Is this likely to cause the issue I’m experiencing? I have requested my systems admin allow this through the firewall as a test.

Hmm, I would expect other errors to be thrown in the designer if there was an issue with communication. Perspective backend/frontend comms happen over a websocket, so you would need to be able to establish a websocket (sometimes separately filtered by firewalls) between your laptop and the designer - but if you can run a Perspective session in a browser, then that’s probably not the root cause.

I’m honestly not sure what’s going on - I’ll tag @PerryAJ, who may be able to help.

Hmm. What version did you upgrade FROM and TO (ideally the version of both the Ignition platform, as well as the perspective module specifically).

Also, can you list the files in the lib/opt/ directory of your ignition install, after upgrade?

Paul is correct in that it seems like JxBrowser (the chromium engine we use in perspective’s design environment) is failing to start. More specifically, it’s trying to create its ‘first’ connection to the gateway which populates the Designer’s session props, and is failing to do that.

I think the OpenJDK connection is most probably a red herring, but can’t say that with 100% certainty.

For troubleshooting, I think your tact of ‘get it working without SSL, then add the cert/ssl once working’ is the right one.

image

The jxbrowser folder is the only one in the opt folder.

old:

new:

Just to add a bit of information; my systems admin and I did some perspective tests and had the following results:

  • Old gateway from designer on laptop works
  • New gateway from designer on server that the gateway is on works
  • New gateway from designer on laptop (or other designer off of the gateway) doesn’t work.

We believe the issue is firewall or vlan related but we don’t know what would make it so that we can connect, can utilize vision tech, and cannot utilize perspective tech.

Let’s try enabling some additional logging on the designer launcher and see if we get any more information about the hangup.

Add the following flags to the designer launcher on the problematic machine:

-Djavaws.ignition.debugging=true
-Djxbrowser.logging.level=ALL
-Djxbrowser.logging.file=/path/to/some/dir/jxbrowser.log

Should look like this:

Then post a copy of the jxbrowser.log file, as well as the logger output in the designer (or if there is any sensitive information you can’t remove without losing important context, feel free to direct message me or we can arrange to submit through support channels).

Not sure those logs are going to be helpful, but with any luck we’ll be able to narrow down where things are getting hung up and come up with some next steps.

We spent a lot of the morning and after lunch working on the issue and finally uncovered the problem: our group policy had some of the software required by Ignition blocked by a program called AppLocker. Why it wasn’t an issue on the previous gateway machine, I am not sure - I’d assume that machine had some privilege that the new gateway did not.

When he figured out how to see the blockages, he was able to whitelist the software in our group policy and the issue was resolved.

Thank you and your team for your help.

1 Like