Closed wcork closed 5 years ago
Yes, this is a known bug in the pva:// support. Thank you for creating a ticket. Unclear if the problem is in the way we use the pva library, or in the Java pva library itself, since I don't remember seeing this problem with the RCP-based Display Builder that used an earlier version of the Java pva library.
Simple demo runs this in softIocPVA
:
record(calc, "ramp")
{
field(SCAN, "1 second")
field(INPA, "ramp")
field(CALC, "A+1")
}
record(calc, "rnd")
{
field(SCAN, "1 second")
field(CALC, "100*RNDM")
}
A display for both pva://ramp
and pva:rnd
might work when executed the first time, but on reload, or when accessing the PVs with probe, PV tree etc. results in not all PVs connecting.
This works fine with the RCP-based DisplayBuilder.
Distilled it down to example Java code that's totally unrelated to Phoebus, Display Builder, ..
Runs OK with older PVA library, but has connection errors with the latest PVA library. Reported there: https://github.com/epics-base/epicsCoreJava/issues/53
Latest pva libs in phoebus build seems to resolve this issue.
For the record, this MR seemed to have fixed it.
Getting more than one PV from the same server and assigning them to different visual elements results in one or both of them disconnecting.
Phoebus then cannot probe either of the values desired, but
pvget
works. Refreshing the page sometimes swaps which visual element gets updated/connected. Closing the page allows probing of individual PV elements again.I have two records that look like the following:
Error occurs when more than one element is looking at different PVs. Example: 2 TextUpdate elements. One displaying pva://test:Monit:localhost:Service:sshd/name The other pva://test:Monit:localhost/host
System Info: Phoebus commit 59e1073b7b56f93546538c715a4d23f5109544b7 Phoebus Build with Oracle JDK 11 Server written in Java (built with Oracle JDK 11).
Server EPICS dependencies (from Maven repo):