Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caputLog + qsrv1 makes pvmonitor not work with waveform PVs #60

Open
gabrielfedel opened this issue Jan 25, 2024 · 0 comments
Open

caputLog + qsrv1 makes pvmonitor not work with waveform PVs #60

gabrielfedel opened this issue Jan 25, 2024 · 0 comments

Comments

@gabrielfedel
Copy link

Hi, I have found this interesting issue when using caputLog + qsrv1 with a waveform PV. Using that combination if the waveform PV is changed (using CA or PVA) the pvmonitor is not notified about the change. What is also curious is that the issue doesn't happens when we use qsrv2 (pvxs).

Here an example (inspired by @mdavidsaver one) on how to replicate the issue:

$ cat st_vanilla.cmd
#!../epics-base/bin/linux-x86_64/softIocPVA
dlload ../caPutLog/lib/linux-x86_64/libcaPutLog.so
dbLoadDatabase ../caPutLog/dbd/caPutLog.dbd
registerAllRecordDeviceDrivers
dbLoadRecords wave.db "P=TEST:"
asSetFilename "unrestricted_access.acf"
asInit
caPutLogInit localhost:7654
iocInit

$ cat wave.db
record(waveform, "$(P)WAVE"){
field(NELM, "$(SIZE=100)")
field(FTVL, "DOUBLE")
}

$ cat unrestricted_access.acf
ASG(DEFAULT) {
RULE(1,READ)
RULE(1,WRITE,TRAPWRITE)
}

On that example if you try to:

pvmonitor TEST:WAVE

and

pvput TEST:WAVE [1,2,3]

the pvmonitor will not change. This issue can have effects on other tools (like the CSStudio Phoebus Save and Restore, which will not be able to restore values on these PVs if using pva as default protocol).

The issue doesn't affect camonitor.


It seems the issue is pvAccessCPP, so moving it to here, originally was posted here: epics-modules/caPutLog#22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant