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.
2 Likes
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.
1 Like