You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our screens we use a script to change macro values of an embedded display to select between device instances. When we change the file or macros property of embedded display, the screen often crashes.
This happens most often with many levels of embedding and when changing the property quickly from one value to another. I've tried reproducing this behavior with a minimal example display where a script changes the macros property of an embedded display repeatedly. Pressing the button several times makes the screen crash consistently. macro_update_bug.zip
The error log output when the attached script crashes the screen:
2024-12-02 09:49:59 SEVERE [org.csstudio.display.builder.model] Unknown listener org.csstudio.display.builder.representation.ToolkitRepresentation$$Lambda$812/0x00007f3be0487560@4006f5df
java.lang.Exception: Unknown listener
at org.csstudio.display.builder.model.properties.PropertyChangeHandler.removePropertyListener(PropertyChangeHandler.java:119)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:398)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.dispose(EmbeddedDisplayRepresentation.java:491)
at org.csstudio.display.builder.representation.WidgetRepresentation.destroy(WidgetRepresentation.java:88)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeWidget(ToolkitRepresentation.java:435)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeChildren(ToolkitRepresentation.java:410)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:394)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.runtime.ActionUtil.handleClose(ActionUtil.java:205)
at org.csstudio.display.builder.runtime.app.DisplayRuntimeInstance.disposeModel(DisplayRuntimeInstance.java:457)
at org.csstudio.display.builder.runtime.app.DisplayRuntimeInstance.onClosed(DisplayRuntimeInstance.java:495)
at org.phoebus.ui.docking.DockItem.handleClosed(DockItem.java:714)
at org.phoebus.ui.docking.DockItemWithInput.handleClosed(DockItemWithInput.java:487)
at org.phoebus.ui.docking.DockItem.close(DockItem.java:757)
at org.phoebus.ui.docking.DockItem.lambda$handleCloseRequest$4(DockItem.java:209)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Thread.java:840)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:209)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:400)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.dispose(EmbeddedDisplayRepresentation.java:491)
at org.csstudio.display.builder.representation.WidgetRepresentation.destroy(WidgetRepresentation.java:88)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeWidget(ToolkitRepresentation.java:435)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeChildren(ToolkitRepresentation.java:410)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:394)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.runtime.ActionUtil.handleClose(ActionUtil.java:205)
at org.csstudio.display.builder.runtime.app.DisplayRuntimeInstance.disposeModel(DisplayRuntimeInstance.java:457)
at org.csstudio.display.builder.runtime.app.DisplayRuntimeInstance.onClosed(DisplayRuntimeInstance.java:495)
at org.phoebus.ui.docking.DockItem.handleClosed(DockItem.java:714)
at org.phoebus.ui.docking.DockItemWithInput.handleClosed(DockItemWithInput.java:487)
at org.phoebus.ui.docking.DockItem.close(DockItem.java:757)
at org.phoebus.ui.docking.DockItem.lambda$handleCloseRequest$4(DockItem.java:209)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Thread.java:840)
2024-12-02 09:50:09 SEVERE [org.csstudio.display.builder.model] Unknown listener org.csstudio.display.builder.representation.ToolkitRepresentation$$Lambda$812/0x00007f3be0487560@4006f5df
java.lang.Exception: Unknown listener
at org.csstudio.display.builder.model.properties.PropertyChangeHandler.removePropertyListener(PropertyChangeHandler.java:119)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:398)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.dispose(EmbeddedDisplayRepresentation.java:491)
at org.csstudio.display.builder.representation.WidgetRepresentation.destroy(WidgetRepresentation.java:88)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeWidget(ToolkitRepresentation.java:435)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeChildren(ToolkitRepresentation.java:410)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:394)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.lambda$updatePendingDisplay$0(EmbeddedDisplayRepresentation.java:306)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Thread.java:840)
2024-12-02 09:50:09 WARNING [org.csstudio.display.builder.representation] Failed to handle embedded display sub.bob
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
at org.csstudio.display.builder.representation.EmbeddedDisplayRepresentationUtil.checkCompletion(EmbeddedDisplayRepresentationUtil.java:243)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.updatePendingDisplay(EmbeddedDisplayRepresentation.java:309)
at org.phoebus.framework.jobs.Job.execute(Job.java:50)
at org.phoebus.framework.jobs.JobManager.execute(JobManager.java:54)
at org.phoebus.framework.jobs.JobManager.lambda$schedule$0(JobManager.java:45)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:209)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:400)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.dispose(EmbeddedDisplayRepresentation.java:491)
at org.csstudio.display.builder.representation.WidgetRepresentation.destroy(WidgetRepresentation.java:88)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeWidget(ToolkitRepresentation.java:435)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeChildren(ToolkitRepresentation.java:410)
at org.csstudio.display.builder.representation.ToolkitRepresentation.disposeRepresentation(ToolkitRepresentation.java:394)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:663)
at org.csstudio.display.builder.representation.javafx.JFXRepresentation.disposeRepresentation(JFXRepresentation.java:115)
at org.csstudio.display.builder.representation.javafx.widgets.EmbeddedDisplayRepresentation.lambda$updatePendingDisplay$0(EmbeddedDisplayRepresentation.java:306)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
... 1 more
Any help is appreciated!
The text was updated successfully, but these errors were encountered:
Hi all,
In our screens we use a script to change macro values of an embedded display to select between device instances. When we change the
file
ormacros
property of embedded display, the screen often crashes.This happens most often with many levels of embedding and when changing the property quickly from one value to another. I've tried reproducing this behavior with a minimal example display where a script changes the macros property of an embedded display repeatedly. Pressing the button several times makes the screen crash consistently.
macro_update_bug.zip
The error log output when the attached script crashes the screen:
Any help is appreciated!
The text was updated successfully, but these errors were encountered: