Enum fields trimmed when they shouldn't be
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start by tracing how Phoebus reads and writes enum string values for PVs, focusing on where trailing whitespace may be trimmed. Reproduce the reported mismatch with an IOC enum value that ends in whitespace, using both CA and PVA if available. Done means the written value preserves the whitespace and the IOC accepts the matching choice.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Java
- スター
- 130
- フォーク
- 132
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 19
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ControlSystemStudio/phoebus のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
ControlSystemStudio/phoebus#3983 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ControlSystemStudio/phoebus#3979 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
ControlSystemStudio/phoebus#3962 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
ControlSystemStudio/phoebus#3865 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 52/100
ControlSystemStudio/phoebus#3980 ·
メンテナーはふだん 2 日以内に返信
ControlSystemStudio/phoebus の issue をすべて見る
似ている issue
-
[BUG] jackson3 JacksonJsonpMapper(ObjectMapper) fails to deserialize `_source` with "Trailing token" error対応中かも @junyeokk が今日担当しました。 オープンbug untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
opensearch-project/opensearch-java#2236 ·
メンテナーはふだん 1 日以内に返信
-
Posting fails with "Context too long"対応中かも @jimklimov が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
open-learning-exchange/myplanet#18392 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
linagora/twake-calendar-side-service#1218 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信