[IGN-4916] View can't open, View config is undefined

View config is undefined. Only this view. I created it yesterday, and I can’t open it today. I tried to import the zip on another PC, reinstall Windows, Ignition not work.

ExecutionException: java.lang.Exception: Unable to get the view config: View config is undefined.
caused by Exception: Unable to get the view config: View config is undefined.

Ignition v8.1.10 (b2021090812)
Java: Azul Systems, Inc. 11.0.11

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:484)
	at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:67)
	at com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceEditor.commit(ResourceEditor.java:166)
	at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.notifyDeactivated(ViewResourceEditor.java:584)
	at com.inductiveautomation.perspective.designer.workspace.PerspectiveWorkspaceListener.editorSelected(PerspectiveWorkspaceListener.java:73)
	at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace$3.stateChanged(TabbedResourceWorkspace.java:115)
	at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(Unknown Source)
	at com.jidesoft.swing.JideTabbedPane$IgnoreableSingleSelectionModel.fireStateChanged(Unknown Source)
	at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(Unknown Source)
	at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(Unknown Source)
	at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(Unknown Source)
	at com.jidesoft.swing.JideTabbedPane.setSelectedIndex(Unknown Source)
	at com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceFolderNode.onSelected(ResourceFolderNode.java:226)
	at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.dispatchSelectionEvent(AbstractNavTreeNode.java:796)
	at com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode.dispatchSelectionEvent(AbstractNavTreeNode.java:813)
	at com.inductiveautomation.ignition.designer.navtree.NavTreePanel$SelectionListener.valueChanged(NavTreePanel.java:542)
	at java.desktop/javax.swing.JTree.fireValueChanged(Unknown Source)
	at java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source)
	at java.desktop/javax.swing.JTree.setSelectionPath(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(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(Native Method)
	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(Native Method)
	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:123)
	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.frame.internal.FrameImpl.invokeMethod(FrameImpl.java:785)
	at com.teamdev.jxbrowser.frame.internal.FrameImpl.processCallback(FrameImpl.java:228)
	at com.teamdev.jxbrowser.internal.rpc.stream.CallbackStream.process(CallbackStream.java:178)
	at com.teamdev.jxbrowser.internal.rpc.stream.Stream$StreamObserver.lambda$onNext$0(Stream.java:164)
	at com.teamdev.jxbrowser.internal.BrowserThread$TaskRunner.processTasks(BrowserThread.java:139)
	at java.base/java.lang.Thread.run(Unknown Source)

Ignition v8.1.10 (b2021090812)
Java: Azul Systems, Inc. 11.0.11

_2021-10-19_1330.zip (362.5 KB)

Ah, but did you try replacing the motherboard? :slight_smile:

Can you hold shift and right click on the view, then select copy json and paste in here inside a preformatted block?

1 Like

oh didnt know that existed nice, i had looked to copy the json without opening the actualy view before

1 Like

Sorry, I forgot to upload my export file. :sweat_smile:
I just realized your method, I will try it.
No, it doesn’t work, the new view can’t open too…
Glad to know this method.

He ment you should to post the json in here using this button image
so we can see if its broken. but i guess the export is fine too.

Ever had any problems in other views with Chinees (or whatever language these are) characters in names?

1 Like

Oh, thank you. I didn’t realize that. Because that file has more than five thousand lines, I didn’t expect it at all.

Do you seesomething in the console logs when you open that page in the browser?

Alright i found somethign in the logs…
java.lang.IllegalArgumentException: newPosition > limit: (8194 > 8192)

Seems like one of your components is located so far it overflowed the position xd
Very weird… as i did not find anything bigger than 2000, expect floats, maybe thats the problem?
i did a replace of anything bigger than a 1000 (regex: 0*[1-9]\d{3,}) and now i seem to be able to open the view (after restarting the gateway service)… though this did mess up the position

you might want to try to first replace the floats

1 Like

Thank you.
I notice some strange coordinate, can they cause errors?
image

It does seem removing the big floats is not enough:/
Weird when i try to make my own view with crazy big numbers i am able to just open and close it…

maybs its a combiniation of a lot of things idk

thanks for help.

Remove all the floats, remove the negative postion of the root container (set to 0)
change the left over big numbers (1800+) to something smaller (1000?)
close the designer, restart the server.
And it should allow you to open it again.
make a new save and try changing the couple of 1800+ back and see if that works now i guess

also report this as a bug^^ (ill change the title xd)

1 Like

I opened an issue for this.

1 Like

Once I bind a dataset with thousands float, to a button, then that view can’t open. And designer show View config is undefined.
Could it be caused by the same thing? or all errors that cause views to not open are classified as View config is undefined?

image
position like this ,cause the errors. I removed floating point numbers longer than 3, then the view can open correctly.

1 Like

Its not just the floats tho as i could create a new view with some weird float values and those did open again… so it gotta be a combination of something idk Maybe its the combination of 5000+ lines of codes with floats?

I got View config is undefined many times. I guess the designer is incomplete, maybe java, maybe browser core. I believe that fixing it is very defficult. Remember backup. :slightly_smiling_face:

image
I found that deleting permissions from view.json solved the problem 80% of the time.

I’m using Ignition 8.1.13 and have the same issue. If I close the designer and reopen it 1/2 the time my view comes back without the error.

I found that the anchor properties and the order of components can cause this problem.