How to mitigate/resolve "Timeout Exception" error in Ignition Designer

While using Designer in Ignition v8.1.13 and v8.1.14 I am running into a recurring “TimeoutException” error. Once the first error pops up I can’t get anything to show in the main editor panel of Designer and almost any subsequent action causes the error pop-up to display again after a delay (including attempts to save or exit). If I restart designer the issue goes away for a while but will come back again, when its least convenient, of course.

I have the Ignition Demo VM running (v8.1.13) as I am using it for reference/ideas and I have Ignition v8.1.14 running as a Linode (Ubuntu 20.04). I am accessing both “remotely” using designer launcher from my Windows laptop.

I suspect (but don’t know) if the problem would go away if I used designer directly on the Ignition server but this is a development setup for what will be a headless server (no graphical desktop).

It’s happening often enough to me that I expect it might be a common problem. Any suggestion on configuration settings that might reduce or eliminate the issue? For example should I be increasing a timeout delay somewhere?

There are older threads reporting similar issues with older versions of Ignition, those do not appear to have been resolved positively.
https://forum.inductiveautomation.com/t/unknown-designer-timeout-exception/27274

Here is a dump of error details from the instance running the Ignition Demo VM (v8.1.13):

java.util.concurrent.TimeoutException
	at java.base/java.util.concurrent.CompletableFuture.timedGet(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.perspective.designer.workspace.ViewResourceEditor.notifyDeactivated(ViewResourceEditor.java:594)
	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.jidesoft.plaf.basic.BasicJideTabbedPaneUI$MouseHandler.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.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.KeyboardFocusManager.dispatchAndCatchException(Unknown Source)
	at java.desktop/java.awt.KeyboardFocusManager.processCurrentLightweightRequests(Unknown Source)
	at java.desktop/java.awt.KeyboardFocusManager$4.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(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.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 v8.1.13 (b2021122109)
Java: Azul Systems, Inc. 11.0.13

Looks like a broken connection between the designer and the embedded chromium browser that renders Perspective views. Most likely a bug you should report to IA.

That's exactly what it is, but usually this means there's some other problem on the frontend side that's the real problem, and the timeout is just a symptom that JS execution is taking far too long.
I'll echo the sentiment to contact support.

Thanks for the quick responses. I’ll evaluate the annoyance/inhibiting factor as I proceed today. I am running two designer sessions concurrently which might be abnormal for most people. Would that be likely to influence the manifestation and frequency of the issue? I’m not sure if that that would be a scenario that’s tested with Ignition QA/QC.

One designer session is connected to a Ignition v8.1.13 server on the Ignition 8 demo VM running under VMware, the other designer session is connected to the remote v8.1.14 Ignition server running on Linode (connected with OpenVPN).

I am running two designer sessions concurrently which might be abnormal for most people. Would that be likely to influence the manifestation and frequency of the issue?

From a Support perspective we often leave multiple Designers open, often from different Gateways, and haven't had problems doing so. If you can only replicate the issue with both Designers open, you may be on to something, but that is something our Support Team would try to rule out quickly.

I am having this issue with version 8.1.21. @tyler.bennett did you solve this problem or report a bug? I'm getting the error with only 1 designer open and designer launcher closed (I saw a similar post mentioning an earlier bug where this error would come up when designer launcher is open).

It seems to be occurring far less for me now with later versions of Ignition. Its not unusual that I'll have 5 designer sessions open at the same time and it has been a long while since I have run into this issue.
Currently working with implementations running v8.1.31 through v8.1.35.

Looking back at my original post... I no longer use the VM of the ignition demo, nor a Linode based server. All the implementations I access are remote with occasional use of a local one running on docker. Not sure if any of that is a factor.