Unable to get the view config: View config is undefined 8.1.34

Since upgrading to 8.1.34, this error occurs frequently. Most of the time, the view will open the next time. Sometimes it doesn't, when that happens, closing the Designer and reopening then the view will open.

Has anyone else seen this error? I understand 8.1.35 has been released, but it's my understanding for a different reason.

Edit, upgraded to 8.1.35 and the error persists.

java.util.concurrent.ExecutionException: java.lang.Exception: Unable to get the view config: View config is undefined.
at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:487)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:68)
at com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceEditor.commit(ResourceEditor.java:166)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:308)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:295)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace$1.actionPerformed(TabbedResourceWorkspace.java:86)
at com.jidesoft.plaf.basic.BasicJideTabbedPaneUI$CloseTabAction.actionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.Exception: Unable to get the view config: View config is undefined.
at com.inductiveautomation.perspective.designer.workspace.JavaJsBridge.onSaveError(JavaJsBridge.java:139)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.teamdev.jxbrowser.js.internal.JsAccessibleMethod.invoke(JsAccessibleMethod.java:66)
at com.teamdev.jxbrowser.js.internal.JsAccessibleObject.invokeMethod(JsAccessibleObject.java:239)
at com.teamdev.jxbrowser.js.internal.JsAccessibleObject.invokeMethod(JsAccessibleObject.java:126)
at com.teamdev.jxbrowser.frame.internal.FrameImpl.lambda$processCallback$4(FrameImpl.java:201)
at java.base/java.util.Optional.map(Unknown Source)
at com.teamdev.jxbrowser.frame.internal.FrameImpl.processCallback(FrameImpl.java:201)
at com.teamdev.jxbrowser.internal.rpc.stream.CallbackStream.process(CallbackStream.java:181)
at com.teamdev.jxbrowser.internal.rpc.stream.Stream$StreamObserver.lambda$onNext$0(Stream.java:167)
at com.teamdev.jxbrowser.internal.RpcThreadImpl$TaskRunner.processTasks(RpcThreadImpl.java:172)
at java.base/java.lang.Thread.run(Unknown Source)

Ignition v8.1.34 (b2023112816)
Java: Azul Systems, Inc. 17.0.8

Hmm... just so happens one of our QA engineers encountered something possibly related to this about an hour ago. We will look into it and get back to you. Thanks for bringing it to our attention.

If I restart the Perspective module I can open the view once. What ill effects can happen by restarting this module?

Okay. We're going to prioritize potentially fixing this issue. In the meantime, you may have to reboot either the designer or your machine to free up some processing power. I don't think restarting the Perspective module is necessary. What you're encountering is the Java side of the bridge waiting for the Javascript side to collect the view definition for save. If that process takes longer than 10 seconds, it will timeout and result in the error that you are seeing. There is one main thread in which JavaScript is executed in the browser. If you're seeing this message a lot, for a particular view, it's likely that something(s) on that view is consuming so much of the thread that it is preventing the capture of the view definition for save, and returning that to the Java side of the bridge.

Maybe we aren't talking about the same issue. The views in question always open on the first time. If you close the view and reopen, that's when the issue occurs. Restarting the Designer will fix the issue, which allows the view to be opened one more time, it still will not open on subsequent attempts.. Closing and reopening the Designer can be time consuming vs just restarting the module, which is why I asked if there are any issues by doing it. Until this issue is fixed, restarting the module is by far the quickest, I just don't want it to cause more harm.

I also don't see this being a lack of processing power. Ignition is really the only thing running (on host). This wasn't an issue until upgrade from 8.1.32 to 34/35. Other users on the team are having the same problem, but not necessarily for the same views.

Okay. I'm speaking to the stack trace you posted above. But, we have seen this happen both upon closing and opening a view. If it is in fact happening more frequently, it's possible that the JxBrowser upgrade in 8.1.34 might be related to what you are seeing. It looks like you've opened up a ticket with our support engineers. We will work with them on the issue. Thanks.

1 Like