Ignition 7.9 Tag Editor Error

Wanted to reach out on this forum in case any one has seen this error before. I couldn't find any similar topics on this so I started a new one. This error makes it impossible to make any tag changes, and this is a running system at a food facility so I cant restart or have any downtime unless planned. For the devs, this is ticket #92813, gateway logs, backup, and designer logs have been reviewed and I'm waiting for a response back as of yesterday 9/18/2023 4:02 PM . I appreciate any insight into this.

Gateway Version: 7.9.12 (b2019070213)
Java Version: 1.8.0_141-b15

Gateway is overall healthy and does not have any performance issues. CPU is at 7% and Memory is at 334mb/4079mb. Disk space is 47gb / 80gb.

My problem starts when trying to edit or inspect properties on a tag from any tag provider. The error happens after opening the tag editor and selecting a tag to inspect or make changes.

When this happens the designer loses connection to the gateway for about a minute and the whole ignition designer becomes unresponsive for about a minute or longer. After the designer gains connection again I can click on a specific tag again and the same things happens over again. Error scenarios listed below.

  • Inspecting properties on any system based tag (Client, and Gateway)
  • Inspection properties or making changes on a OPC-UA based tag
  • Inspecting properties or making changes to a Data Type tag

Designer logs that I'm getting are below. Areas of interest for me is when any API is called thats not "com.inductiveautomation.ignition.client.gateway_interface" it says "Unknown Source"

10:33:41.603 [AWT-EventQueue-2] WARN com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager - Connection to Gateway lost, due to exception.
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Read timed out
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:341)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:501)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:273)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:268)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:894)
	at com.inductiveautomation.ignition.designer.sqltags.config.adapters.BasicTagEditController.getEditResources(BasicTagEditController.java:62)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor$ScanClasses.getOptions(EditableStringDropdownEditor.java:277)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.arrayOfOptions(EditableStringDropdownEditor.java:189)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.refreshOptionList(EditableStringDropdownEditor.java:167)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.init(EditableStringDropdownEditor.java:93)
	at com.inductiveautomation.ignition.designer.sqltags.editor.AbstractTagEditingCategory.init(AbstractTagEditingCategory.java:126)
	at com.inductiveautomation.ignition.designer.sqltags.editor.GeneralCategory.init(GeneralCategory.java:151)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.refreshRelevancy(SQLTagEditWorkspace.java:78)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.initCategories(SQLTagEditWorkspace.java:45)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.setEditObject(SQLTagEditWorkspace.java:66)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.TagObjectEditorPanel.loadEditWorkspaceFor(TagObjectEditorPanel.java:492)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.TagObjectEditorPanel.onMemberSelection(TagObjectEditorPanel.java:447)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser.valueChanged(ComplexTagBrowser.java:160)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser$VetoSelectionModel.fireValueChanged(ComplexTagBrowser.java:204)
	at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser$VetoSelectionModel.setSelectionPaths(ComplexTagBrowser.java:185)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source)
	at javax.swing.JTree.setSelectionPath(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.access$300(Unknown Source)
	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:421)
	... 58 common frames omitted
10:33:41.620 [AWT-EventQueue-2] INFO Scripting.ScriptManager.PrivateOV - Pausing scripts...
10:33:41.621 [AWT-EventQueue-2] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager - Starting reconnect thread.
10:33:41.623 [AWT-EventQueue-2] ERROR com.inductiveautomation.ignition.designer.sqltags.config.ui.TagObjectEditorPanel$ComplexTagController$ComplexTagEditController - Error obtaining tag edit resources from gateway.
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Read timed out
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:341)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:501)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:273)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:268)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:894)
	at com.inductiveautomation.ignition.designer.sqltags.config.adapters.BasicTagEditController.getEditResources(BasicTagEditController.java:62)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor$ScanClasses.getOptions(EditableStringDropdownEditor.java:277)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.arrayOfOptions(EditableStringDropdownEditor.java:189)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.refreshOptionList(EditableStringDropdownEditor.java:167)
	at com.inductiveautomation.ignition.designer.sqltags.editor.editors.EditableStringDropdownEditor.init(EditableStringDropdownEditor.java:93)
	at com.inductiveautomation.ignition.designer.sqltags.editor.AbstractTagEditingCategory.init(AbstractTagEditingCategory.java:126)
	at com.inductiveautomation.ignition.designer.sqltags.editor.GeneralCategory.init(GeneralCategory.java:151)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.refreshRelevancy(SQLTagEditWorkspace.java:78)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.initCategories(SQLTagEditWorkspace.java:45)
	at com.inductiveautomation.ignition.designer.sqltags.editor.SQLTagEditWorkspace.setEditObject(SQLTagEditWorkspace.java:66)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.TagObjectEditorPanel.loadEditWorkspaceFor(TagObjectEditorPanel.java:492)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.TagObjectEditorPanel.onMemberSelection(TagObjectEditorPanel.java:447)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser.valueChanged(ComplexTagBrowser.java:160)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser$VetoSelectionModel.fireValueChanged(ComplexTagBrowser.java:204)
	at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source)
	at com.inductiveautomation.ignition.designer.sqltags.config.ui.ComplexTagBrowser$VetoSelectionModel.setSelectionPaths(ComplexTagBrowser.java:185)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source)
	at javax.swing.JTree.setSelectionPath(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(Unknown Source)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
	at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.access$300(Unknown Source)
	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:421)
	... 58 common frames omitted
10:33:41.696 [GatewayConnection-1] INFO Scripting.ScriptManager.PrivateOV - Resuming scripts...
10:33:41.752 [GatewayConnection-1] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager - Stopping reconnect thread.

You'll have to look at the gateway log at the times that correspond to the designer errors. That gateway exception you are seeing is simply the 60-second timeout you get when the gateway cannot respond in time.

For something simple, the gateway likely errorred immediately, leaving the designer hanging in the wind. (Sounds familiar, like something fixed long ago.)

This might go away with a gateway restart, but there's no way to know for sure without information from the gateway itself.

(FWIW, v7.9 is already in its limited support phase--no more updates of any kind. This might be something fixable by upgrading to the last version of v7.9, but you are swinging in the wind with a soon-to-be completely unsupported version.)

Thank you Phil for the reply. The tag editor issue was resolved after a gateway restart. Working on convincing the customer to migrate to 8.1