Seems to be a bit of a strange error and seemingly random. Every so often I get an error in my designer that Chromium has crashed. I haven’t been tracking how long the Designer runs before the crash but seems to be about every 2-3 hours. The Designer has to be restarted to get Perspective working again. I hadn’t worked with Perspective in a while but i’ve had about 2-3 crashes per day since I started working with it again. I don’t see anything that pops up in the gateway logs, just the error in the Designer console:
20:25:46.168 ERROR Chromium process exit code: 139
20:25:46.269 [Thread-17] ERROR com.teamdev.jxbrowser - Chromium process exit code: 139
20:25:51.868 [Thread-17] ERROR designer.JXBrowserUtil - Browser Engine has reported a crash with exit code 139: EngineCrashed{exitCode=139}
Running Ignition 8.1.5 (but also happened on 8.1.3). Designer is running on a 2015 Macbook Pro running MacOS 11.3. I tried reinstalling the Designer Launcher to see if that would have any impact but no luck.
Any ideas on things I can check or logs that would be helpful?
Edit: I forgot to add that I get the following errors when I try to exit the Designer (without saving) and end up having to force quit:
23:18:08.411 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - null
java.util.concurrent.TimeoutException: null
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:434)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.getObjectForSave(ViewResourceEditor.java:63)
at com.inductiveautomation.ignition.designer.tabbedworkspace.ResourceEditor.commit(ResourceEditor.java:160)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:284)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:271)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.lambda$shutdown$1(ViewWorkspace.java:636)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.shutdown(ViewWorkspace.java:636)
at com.inductiveautomation.perspective.designer.DesignerHook.shutdown(DesignerHook.java:360)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.shutdown(IgnitionDesigner.java:1928)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.cleanup(IgnitionDesigner.java:911)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.shutdown(IgnitionDesigner.java:496)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.handleExit(IgnitionDesigner.java:3044)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$3.windowClosing(IgnitionDesigner.java:354)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
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)
23:18:08.752 [AWT-EventQueue-0] ERROR Perspective.Designer.Workspace - Could not unregister the bridge's edit action handler for a view on deactivate
java.lang.IllegalArgumentException: missing event subscriber for an annotated method. Is com.inductiveautomation.perspective.designer.JavaJsBridgeEditActionHandler@d28d614 registered?
at com.google.common.eventbus.SubscriberRegistry.unregister(SubscriberRegistry.java:111)
at com.google.common.eventbus.EventBus.unregister(EventBus.java:201)
at com.inductiveautomation.perspective.designer.workspace.design.BrowserPanel.onDeactivate(BrowserPanel.java:858)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.notifyDeactivated(ViewResourceEditor.java:532)
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.removeTabAt(Unknown Source)
at com.jidesoft.swing.JideTabbedPane.removeTabAt(Unknown Source)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:293)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:271)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.lambda$shutdown$1(ViewWorkspace.java:636)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.shutdown(ViewWorkspace.java:636)
at com.inductiveautomation.perspective.designer.DesignerHook.shutdown(DesignerHook.java:360)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.shutdown(IgnitionDesigner.java:1928)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.cleanup(IgnitionDesigner.java:911)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.shutdown(IgnitionDesigner.java:496)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.handleExit(IgnitionDesigner.java:3044)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$3.windowClosing(IgnitionDesigner.java:354)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException
at com.teamdev.jxbrowser.deps.com.google.common.base.Preconditions.checkState(Preconditions.java:492)
at com.teamdev.jxbrowser.internal.CloseableImpl.checkNotClosed(CloseableImpl.java:34)
at com.teamdev.jxbrowser.zoom.internal.ZoomImpl.level(ZoomImpl.java:44)
at com.inductiveautomation.perspective.designer.workspace.design.BrowserPanel.syncZoomIndicator(BrowserPanel.java:846)
at com.inductiveautomation.perspective.designer.workspace.design.BrowserPanel.onActivate(BrowserPanel.java:821)
at com.inductiveautomation.perspective.designer.workspace.ViewResourceEditor.notifyActivated(ViewResourceEditor.java:515)
at com.inductiveautomation.perspective.designer.workspace.PerspectiveWorkspaceListener.editorSelected(PerspectiveWorkspaceListener.java:80)
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.removeTabAt(Unknown Source)
at com.jidesoft.swing.JideTabbedPane.removeTabAt(Unknown Source)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:293)
at com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace.close(TabbedResourceWorkspace.java:271)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.lambda$shutdown$1(ViewWorkspace.java:636)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.shutdown(ViewWorkspace.java:636)
at com.inductiveautomation.perspective.designer.DesignerHook.shutdown(DesignerHook.java:360)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.shutdown(IgnitionDesigner.java:1928)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.cleanup(IgnitionDesigner.java:911)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.shutdown(IgnitionDesigner.java:496)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.handleExit(IgnitionDesigner.java:3044)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$3.windowClosing(IgnitionDesigner.java:354)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
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)