"Unable to open binding editor."

We’re running an 8.0.9 nightly from January 24.

This project was exported from another gateway and reimported here, figured I’d mention that in case that breaks things that could be causing this issue.

I simply have a Perspective view with a table, and with its data property bound to a named query. I am unable to edit this binding, though, and every time I try, I get the error “Unable to open the Binding Editor”

This is coupled with issues where I’m getting “View config is undefined” and the view itself sometimes fails to open.

This is the stack trace:

java.lang.Exception: Unable to look up component path
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.lambda$new$0(AbstractPropertyEditorFrame.java:24)
	at java.base/java.util.Optional.orElseThrow(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.<init>(AbstractPropertyEditorFrame.java:24)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame.<init>(BindingEditorFrame.java:60)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame$1.newFrame(BindingEditorFrame.java:46)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame$1.newFrame(BindingEditorFrame.java:41)
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractComponentEditorFrame$FrameManager.open(AbstractComponentEditorFrame.java:93)
	at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor$BindingCompatibleNodeEditor.openBindingEditor(ComponentScopeEditor.java:578)
	at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor$BindingCompatibleNodeEditor$BindingControl$1.mousePressed(ComponentScopeEditor.java:622)
	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 com.jidesoft.docking.DockingUtils.a(Unknown Source)
	at com.jidesoft.docking.DefaultDockingManager.handleEvent(Unknown Source)
	at com.jidesoft.docking.DefaultDockingManager$56.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(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.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)

Ignition v(Dev Version)
Java: Azul Systems, Inc. 11.0.5

Hi Mark,

You can try removing the named query binding on the data prop in the project export file before importing to determine if that specific binding was the issue. If you’re still unable to open editor to recreate the binding, then something else is causing it. If you’d like to attach a project export, I can take a look and try to replicate on my end as well.

HMI_ParentProject_2020-01-28_0722.zip (36.9 KB)

I’ve attached an export of the problematic view in question. If you need a full gateway backup export, I can provide that too. I’m not able to try reimporting from the original project that this was exported from.

I’ve opened a support ticket with a gateway backup attached in the meantime… A coworker took a look and he seems to think it has to do with the EmbeddedViews (which are used for navigation docks), but he can’t seem to delete them.

I didn’t see anything wrong with the project window export you attached, but I did get a chance to take a look at your gateway backup and noticed something there that might be causing your views and binding editor to fail.

On ShiftSetup, there’s a bidirectional binding on the Shift1Button which is in direct conflict with its click action that writes to the same exact tag. This will inevitably cause a write loop between the two which I believe is causing designer to timeout. Removing this unexpected bidirectional binding should hopefully resolve the issue.

That doesn’t fix the issue with opening the data binding on the table in General/Faults/FirstFaultHistory view.

Are you seeing any other errors in designer console when trying to open the data binding? Are any of the other bindings on the table component affected as well?

I am unable to open any other bindings on the table.

The logs show:

Message: Unable to open the Binding Editor
Time: Wed Jan 29 3:07:06PM
Severity: ERROR
Logger: com.inductiveautomation.ignition.client.util.gui.ErrorUtil
Stack Trace: java.lang.Exception: Unable to look up component path
    at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.lambda\$new\$0(AbstractPropertyEditorFrame.java:24)
    at java.base/java.util.Optional.orElseThrow(Unknown Source)
    at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.<init>(AbstractPropertyEditorFrame.java:24)
    at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame.<init>(BindingEditorFrame.java:60)
    at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame\$1.newFrame(BindingEditorFrame.java:46)
    at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame\$1.newFrame(BindingEditorFrame.java:41)
    at com.inductiveautomation.perspective.designer.workspace.frames.AbstractComponentEditorFrame\$FrameManager.open(AbstractComponentEditorFrame.java:93)
    at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor\$BindingCompatibleNodeEditor.openBindingEditor(ComponentScopeEditor.java:578)
    at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor\$BindingCompatibleNodeEditor\$BindingControl\$1.mousePressed(ComponentScopeEditor.java:622)
    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)

Here’s the entire contents of the Output Console after trying to open the binding:

15:15:23.389 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - Unable to open the Binding Editor
java.lang.Exception: Unable to look up component path
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.lambda$new$0(AbstractPropertyEditorFrame.java:24)
	at java.base/java.util.Optional.orElseThrow(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractPropertyEditorFrame.<init>(AbstractPropertyEditorFrame.java:24)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame.<init>(BindingEditorFrame.java:60)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame$1.newFrame(BindingEditorFrame.java:46)
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame$1.newFrame(BindingEditorFrame.java:41)
	at com.inductiveautomation.perspective.designer.workspace.frames.AbstractComponentEditorFrame$FrameManager.open(AbstractComponentEditorFrame.java:93)
	at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor$BindingCompatibleNodeEditor.openBindingEditor(ComponentScopeEditor.java:578)
	at com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor$BindingCompatibleNodeEditor$BindingControl$1.mousePressed(ComponentScopeEditor.java:622)
	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 com.jidesoft.docking.DockingUtils.a(Unknown Source)
	at com.jidesoft.docking.DefaultDockingManager.handleEvent(Unknown Source)
	at com.jidesoft.docking.DefaultDockingManager$56.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
	at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(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.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)
15:15:23.389 [Browser Events Thread] INFO Perspective.Designer.BrowserConsole - onerrorLogger: {"stack":"TypeError: Cannot read property 'getSymbolicPath' of undefined\n    at y.getSymbolicPath (http://10.60.225.69:8088/res/perspective/js/PerspectiveDesigner.2eb561343006d53082ac.js:6:60658)","message":"Cannot read property 'getSymbolicPath' of undefined","name":"TypeError","logData":{"msg":"Uncaught Exception","errorMsg":"Uncaught TypeError: Cannot read property 'getSymbolicPath' of undefined","url":"http://10.60.225.69:8088/res/perspective/js/PerspectiveDesigner.2eb561343006d53082ac.js","line number":6,"column":60658}}
15:15:23.389 [Browser Events Thread] INFO Perspective.Designer.BrowserConsole - Uncaught TypeError: Cannot read property 'getSymbolicPath' of undefined
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.inductiveautomation.perspective.designer.workspace.bindingeditor.BindingEditorFrame.onWindowClosed(BindingEditorFrame.java:162)
	at com.inductiveautomation.perspective.designer.ui.AbstractEditorFrame$1.windowClosed(AbstractEditorFrame.java:65)
	at java.desktop/java.awt.Window.processWindowEvent(Unknown Source)
	at java.desktop/javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.desktop/java.awt.Window.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.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)

That’s good to know that it’s not isolated to the single binding. I believe I’ve replicated similar behavior but need to confirm if we’re seeing the same error in the Designer output console. You can find it under the Tools > Console menu option.

This is the error I’m seeing spammed in the console before the binding editor becomes unresponsive.
[Browser Events Thread] INFO Perspective.Designer.BrowserConsole - [mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: 'Reaction[Reaction@7414]'

I’m not seeing that specific error in the Console. I’ve pasted above the entire output of the designer console after clicking on the binding button.

Ok I will let someone in Support know to reach out to you because we may need to diagnose this further on your system.

1 Like

So my colleague was able to fix this by reverting the Ignition version back to 8.0.7, removing an Embedded View that was on the affected views that represented a right-size dockable navigation view, and then going back to the 8.0.9 nightly.

Not sure what about this process fixed it, but it’s working now. We’ll try adding the views back in at some point to see if it’s still a problem.

Thanks for all the assistance.

Glad to hear you were able to get it working again. I’m still looking into this as a potential bug but do let us know if you encounter the issue again when the affected views are added back in.

1 Like

Hello I am having the same issue. A temporary fix is to close the designer and reopen it, but eventually the error will occur again. I will try removing the Embedded View and reinserting it, but I am curious if any other solutions have been found.

1 Like

Hey Justin,

If you can send over a project export with the affected view(s), I can take another look to see what might be going on since this seems to be a recurring issue.