-
Notifications
You must be signed in to change notification settings - Fork 124
Open
Description
MBBO ZRST-FFST fields in an IOC can be defined with trailing whitespace, and Phoebus correctly reads these in.
However, it appears that when Phoebus writes these strings to a PV it trims the whitespace, and sends this to try and match the value with the IOC, but it no longer matches as it is missing the trailing whitespace.
This causes the following error in the IOC:
recGblRecordError: <string_to_you_tried_to_set> Illegal choice PV: <record_name>
and the following error in Phoebus (when using CA):
Exception occured, code: gov.aps.jca.CAStatus\[PUTFAIL=20,WARNING=0\]=Could not perform a database value put for that channel, message: '<record_name>'.
or if using PVA it causes a much longer error message (~700 lines). Here is a snippet of that error:
WARNING [org.csstudio.display.builder.runtime] Widget Combo Box write error for value short test
java.lang.Exception: Cannot write <string_to_you_tried_to_set> to PV pva://<record_name>
at org.csstudio.display.builder.runtime.pv.RuntimePV.write(RuntimePV.java:114)
at org.csstudio.display.builder.runtime.WidgetRuntime.writePrimaryPV(WidgetRuntime.java:382)
at org.csstudio.display.builder.runtime.RuntimeUtil$1.handleWrite(RuntimeUtil.java:52)
at org.csstudio.display.builder.representation.ToolkitRepresentation.fireWrite(ToolkitRepresentation.java:682)
at org.csstudio.display.builder.representation.javafx.widgets.ComboRepresentation.confirm(ComboRepresentation.java:198)
at org.csstudio.display.builder.representation.javafx.widgets.ComboRepresentation.lambda$createJFXNode$0(ComboRepresentation.java:78)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:138)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: java.util.concurrent.TimeoutException
at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:2006)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2141)
at org.phoebus.pv.pva.PVA_PV.write(PVA_PV.java:197)
at org.csstudio.display.builder.runtime.pv.RuntimePV.write(RuntimePV.java:110)
... 12 more
I would imagine removing whitespace trimming when getting Enum string values would fix this but I am not familiar with Phoebus code.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels