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

Requested provider '<all>' not found #42

Closed
hhslepicka opened this issue Mar 13, 2018 · 10 comments
Closed

Requested provider '<all>' not found #42

hhslepicka opened this issue Mar 13, 2018 · 10 comments

Comments

@hhslepicka
Copy link
Contributor

Hi,

I am trying to run the examples described at the README file but I am facing the following issue:

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox/ $ ipython
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:14:59)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from pvaccess import *

In [2]: pv = PvObject({'x': INT, 'y': INT})

In [3]: pvaServer = PvaServer('pair', pv)
2018-03-13T11:21:58.977 Requested provider '<all>' not found
2018-03-13T11:21:58.977 ServerContext configured with not Providers will do nothing!

VERSION : pvAccess Server v6.0.1-SNAPSHOT
PROVIDER_NAMES :
BEACON_ADDR_LIST :
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST:
INTF_ADDR_LIST : 0.0.0.0

Here are some information about versions:

  • python: 3.6.2
  • boost: 1.66.0
  • epics base: R7.0.1.1-50-gd0a5a985f
    • pvAccess: 6.0.0-56-g74fbd22d4
    • pvDatabase: 4.3.0-5-g83101e210
    • pvaClient: 4.3.0-9-g4e4554af4
    • pvData: 7.0.0-19-gf2ad6292f
    • pva2pva: 1.0.0-15-g272b4fb9c
  • pvaPy: 1.0.0-53-g5db28b0
@sveseli
Copy link
Collaborator

sveseli commented Mar 13, 2018 via email

@hhslepicka
Copy link
Contributor Author

Hi @sveseli ,
I am using the latest from master for Epics Base as well as for the submodules.
Is this a problem?

@sveseli
Copy link
Collaborator

sveseli commented Mar 13, 2018 via email

@hhslepicka
Copy link
Contributor Author

Hi,

Thank you for the fix. Now the problem is when I try to pvget -m pair.
Here are the outputs:

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox  $ ipython
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:14:59)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from pvaccess import *
   ...: pv = PvObject({'x': INT, 'y': INT})
   ...: pvaServer = PvaServer('pair', pv)
   ...:
VERSION : pvAccess Server v6.0.1-SNAPSHOT
PROVIDER_NAMES : local,
BEACON_ADDR_LIST :
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST:
INTF_ADDR_LIST : 0.0.0.0
(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox $ pvget -V
pvget v6.0.1-SNAPSHOT
(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox $ pvget -m pair
[MonitorRequesterImpl] error : illegal pvRequest
monitorConnect(Status [type=ERROR, message=failed to create monitor])

Now with Debug information:

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox $ pvget -d -m pair
2018-03-13T14:32:46.975 Client security plug-in 'ca' installed.
2018-03-13T14:32:46.976 Creating datagram socket to: 0.0.0.0:0.
2018-03-13T14:32:46.976 Broadcast address #0: 134.79.87.255:5076.
2018-03-13T14:32:46.976 Setting up UDP for interface 134.79.81.101, broadcast 134.79.87.255, dest 134.79.87.255.
2018-03-13T14:32:46.976 Creating datagram socket to: 134.79.81.101:5076.
2018-03-13T14:32:46.976 Creating datagram socket to: 134.79.87.255:5076.
2018-03-13T14:32:46.977 Creating datagram socket to: 224.0.0.128:5076.
2018-03-13T14:32:46.977 Local multicast enabled on 127.0.0.1/224.0.0.128:5076.
2018-03-13T14:32:46.977 Sending 50 bytes to 134.79.87.255:5076.
Waiting...
2018-03-13T14:32:46.978 Connecting to PVA server: 134.79.81.101:5075.
2018-03-13T14:32:46.978 Opening socket to PVA server 134.79.81.101:5075, attempt 1.
2018-03-13T14:32:46.979 Socket connected to PVA server: 134.79.81.101:5075.
2018-03-13T14:32:46.979 Acquiring transport to 134.79.81.101:5075.
2018-03-13T14:32:46.979 Connected to PVA server: 134.79.81.101:5075.
[MonitorRequesterImpl] error : illegal pvRequest
monitorConnect(Status [type=ERROR, message=failed to create monitor])
Done
2018-03-13T14:32:46.980 Releasing TCP transport to 134.79.81.101:5075.
2018-03-13T14:32:46.980 TCP socket to 134.79.81.101:5075 is to be closed.
2018-03-13T14:32:46.980 UDP socket 0.0.0.0:0 closed.
2018-03-13T14:32:46.980 UDP socket 134.79.81.101:5076 closed.
2018-03-13T14:32:46.980 UDP socket 134.79.87.255:5076 closed.
2018-03-13T14:32:46.980 UDP socket 224.0.0.128:5076 closed.
(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox  $ env | grep PVA
EPICS_PVA_ADDR_LIST=
EPICS_PVA_AUTO_ADDR_LIST=YES

@sveseli
Copy link
Collaborator

sveseli commented Mar 13, 2018 via email

@hhslepicka
Copy link
Contributor Author

Hi,

That did the trick! Now I am able to change x on the python shell and see the changes on the monitor.
Is this error happening because we don't have a field named value at the structure?

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox  $ pvget -r '' -m pair
pair
structure
    int x 0
    int y 0


pair
structure
    int x 1
    int y 0

@sveseli
Copy link
Collaborator

sveseli commented Mar 13, 2018 via email

@hhslepicka
Copy link
Contributor Author

Ok... I did a quick test and added a field named value to the structure that I am serving and pvget -m works and shows the value there.

But what is interesting is that if I do a pvget -v -m pair I only get the value and not the full structure containing x and y. Is this an effect of the server or from the client?

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox/git-slaclab  $ ipython
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:14:59)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from pvaccess import *
   ...: pv = PvObject({'x': INT, 'y': INT, 'value': INT})
   ...: pvaServer = PvaServer('pair', pv)
   ...:
VERSION : pvAccess Server v6.0.1-SNAPSHOT
PROVIDER_NAMES : local,
BEACON_ADDR_LIST :
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST:
INTF_ADDR_LIST : 0.0.0.0

In [2]:
(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox  $ pvget -v -m pair
pair
structure
    int value 0

@sveseli
Copy link
Collaborator

sveseli commented Mar 13, 2018 via email

@hhslepicka
Copy link
Contributor Author

Got it!
I changed my pvget line and now it behaves as expected.
I believe that this change would be great!

Thank you for the fix.

I am closing this issue as it was solved by 26d066f.

(py36) slepicka@dhcp-swlan-public-81-101:~/sandbox  $ pvget -v -r '' -m pair
pair
structure
    int x 0
    int y 0
    int value 0


pair
structure
    int x 1
    int y 0
    int value 0


pair
structure
    int x 1
    int y -1
    int value 0


pair
structure
    int x 1
    int y -1
    int value 3

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

2 participants