I recently upgraded to version 8.1.47 and now the session properties don't show not even the basic restricted ones (host, theme, lastActivity, etc...), anybody else experiencing this issue?
I tried to close/open the designer a few times but still nothing?
I noticed this because out of nowhere my theme colored changed to light and the only way I could interact with session props was through a component prop binding.
Okay this is a mac issue I'm encountering, I opened a designer in a windows VM and the session props appeared and I was able to set back my original sessions properties and then had to kill my old session from the gateway page to see the updated changes.
I get the following error only when I try to update and save on mac obviously because the session props don't exist. In windows everything works.
# Error Popup Message Tab
Unable to save session props
# Error Popup Details Tab
java.util.concurrent.ExecutionException: com.teamdev.jxbrowser.js.JsException: Uncaught TypeError: Cannot read properties of undefined (reading 'createPathPredicate')
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.pageconfig.SessionPropsAdapter.commit(SessionPropsAdapter.java:222)
at com.inductiveautomation.perspective.designer.workspace.pageconfig.WorkspaceRootConfig.commit(WorkspaceRootConfig.java:22)
at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.notifyProjectSaveStart(ViewWorkspace.java:330)
at com.inductiveautomation.perspective.designer.DesignerHook.notifyProjectSaveStart(DesignerHook.java:560)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.commitAll(IgnitionDesigner.java:1629)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.handleUpdate(IgnitionDesigner.java:2889)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler$8.actionPerformed(IgnitionDesigner.java:2450)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(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(Unknown Source)
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(Unknown Source)
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: com.teamdev.jxbrowser.js.JsException: Uncaught TypeError: Cannot read properties of undefined (reading 'createPathPredicate')
at com.teamdev.jxbrowser.js.internal.JsObjectImpl.callMethod(JsObjectImpl.java:175)
at com.teamdev.jxbrowser.js.internal.JsObjectImpl.call(JsObjectImpl.java:153)
at com.inductiveautomation.perspective.designer.workspace.JavaJsBridge.lambda$invokeFunction$2(JavaJsBridge.java:285)
at com.teamdev.jxbrowser.frame.internal.FrameImpl$1.onNext(FrameImpl.java:359)
at com.teamdev.jxbrowser.frame.internal.FrameImpl$1.onNext(FrameImpl.java:355)
at com.teamdev.jxbrowser.internal.rpc.ServiceConnectionImpl.lambda$invokeAsync$5(ServiceConnectionImpl.java:228)
at com.teamdev.jxbrowser.internal.RpcThreadImpl$TaskRunner.processTasks(RpcThreadImpl.java:175)
at java.base/java.lang.Thread.run(Unknown Source)
Ignition v8.1.47 (b2025022612)
Java: Azul Systems, Inc. 17.0.13
Do you show any errors in Console on initial launch of the Designer?
This is the only standout information I get from the output console on startup but its all level INFO
12:02:24.891 [Designer-Startup] INFO designer.main -- Starting module: Perspective [+10534]
12:02:26.871 [Designer-Startup] INFO Perspective.Designer -- Starting up Perspective module. Mode: Activated
12:02:29.222 [Browser Thread: 6b4a9901-588e-492e-9fa8-529d2e71c788] INFO Perspective.SessionProps -- [mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: 'Reaction[When@59]' java.lang.NullPointerException: Cannot invoke "com.inductiveautomation.perspective.designer.DesignerHook$StyleChangeListener.getCombinedStylesheet()" because "this.styleHandler" is null in com.inductiveautomation.perspective.designer.DesignerHook.getCombinedStyles(DesignerHook.java:570)
12:02:29.318 [Browser Thread: 6b4a9901-588e-492e-9fa8-529d2e71c788] INFO Perspective.SessionProps -- onerrorLogger: {"e":"java.lang.NullPointerException: Cannot read field \"config\" because \"this.symbolStyleHandler\" is null in com.inductiveautomation.perspective.designer.DesignerHook.getSymbolProps(DesignerHook.java:574)","logData":{"msg":"Uncaught Exception","errorMsg":"Uncaught java.lang.NullPointerException: Cannot read field \"config\" because \"this.symbolStyleHandler\" is null in com.inductiveautomation.perspective.designer.DesignerHook.getSymbolProps(DesignerHook.java:574)","url":"http://igs-01:8088/res/perspective/js/PerspectiveDesigner.dd3ea27ceb5be3fc012a.js","line number":2,"column":215867}}
12:02:29.319 [Browser Thread: 6b4a9901-588e-492e-9fa8-529d2e71c788] INFO Perspective.SessionProps -- Uncaught java.lang.NullPointerException: Cannot read field "config" because "this.symbolStyleHandler" is null in com.inductiveautomation.perspective.designer.DesignerHook.getSymbolProps(DesignerHook.java:574)
12:02:30.805 [Designer-Startup] INFO designer.main -- Starting module: Twilio Integration and Alarm Notification [+16448]
Okay, we're tracking this one under IGN-12611. One workaround that I've found to help is to use File->Open after you've opened Designer and re-open the same project.
haha that's a very interesting work around, that worked I can update, save, and see the session props on my mac again with no error.
How did you figured that out?
Seeing that something went wrong in the DesignerHook, I had a whim to see whether it would reproduce on in-designer project openings. Thankfully it presented itself accordingly as a workaround. We've still got a deeper analysis on this one pending internally--it seems to be just macOS, as you helped confirm further.
Any update on IGN-12611, I started running in to this same Unable to save session props error and re-opening the project while the designer was already open, fixed that specific issue. In addition to that my designer just disconnects for ~100ms or so and then reconnects, not sure if this is related to this same bug, this disconnect loop happens every minute or so.
12:13:13.731 [DesignerExecEngine-4] WARN com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Connection to Gateway lost, due to exception.
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Premature EOF
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:360)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:556)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:366)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.ping(GatewayInterface.java:1024)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.ping(GatewayInterface.java:1009)
at com.inductiveautomation.ignition.client.tags.impl.GatewayTagInterface.runPoll(GatewayTagInterface.java:128)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:593)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Premature EOF
at java.base/sun.net.www.http.ChunkedInputStream.readAheadBlocking(Unknown Source)
at java.base/sun.net.www.http.ChunkedInputStream.readAhead(Unknown Source)
at java.base/sun.net.www.http.ChunkedInputStream.read(Unknown Source)
at java.base/java.io.FilterInputStream.read(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipSpaces(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:498)
... 11 common frames omitted
12:13:13.771 [DesignerExecEngine-4] INFO tags.subscriptions -- Changing connected quality to 'Bad_Stale'
12:13:13.773 [DesignerExecEngine-4] INFO Scripting.ScriptManager.DanPT -- Pausing scripts...
12:13:13.773 [DesignerExecEngine-4] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Starting reconnect thread.
12:13:13.814 [GatewayConnection-1] INFO tags.subscriptions -- Changing connected quality to 'Good'
12:13:13.814 [GatewayConnection-1] INFO Scripting.ScriptManager.DanPT -- Resuming scripts...
12:13:13.820 [GatewayConnection-1] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Stopping reconnect thread.
Out of curiosity are there any updates on this or is it a documented ticket that is planned in an 8.1 release by chance?
Projected for the middle of August.
I’m having this issue on 8.3.1, the reopening work around still works
just FYI it is not just a mac issue, a colleague is on windows and also sees this issue were on v8.1.49 (a lot less frequent than 8.1.47 but still occurs at times)
The issue is also present in version 8.3.2. Reopening the project fixed it.
Versions:
Ignition Platform 8.3.2 (b2025120210)
Perspective Module 3.3.2 (b2025120210)