DiamondLightSource / DiamondLightSource/pythonSoftIOC
No protection against overflow/underflow when setting values
- 主要語言
- Python
- 星號
- 46
- 分支
- 15
- 平均合併
- 1 天 18 小時
- 30 天內合併 PR
- 1
描述
pythonSoftIOC provides no protections against overflowing data type limits.
The most obvious example of this is longIn/Out, due to the unbounded size of Python3's `int` type. No warning or error is raised if you attempt to do the following:
```
builder.longOut("TEST", initial_value=9999999999999)
```
[...]$ caget TEST
PREFIX:TEST 1316134911
The value is truncated, but no warning is given.
This issue should also investigate all other types, and consider adding validation to the incoming values before passing to EPICS.
Possibilities include ( but are not limited to):
- Huge floating point values
- Tiny floating point values
- Strings that may be silently truncated, especially when unicode is in use
- Waveforms when the value being set is longer than the NELM of the record
貢獻指南
研究方向
該 issue 沒有指出檔案、測試或進入點。先重現 builder.longOut 範例,然後追蹤在列出的 numeric、string 和 waveform 情況下值是如何傳遞給 EPICS 的。相關的超出範圍或過大的值經過警告或錯誤驗證,並且對所調查的情況有覆蓋,即可視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- backend
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100