1832697 Members
2668 Online
110043 Solutions
New Discussion

rpcbind behaviour

 
siaemic
Advisor

rpcbind behaviour

We develop a C application using rpc library. Only on some ws we are getting errors in executing our program. Once we got an error in syslog reporting info:
svc_tp_create: Could not register prog 536871239 vers 1 on udp.
What could it mean ?
10 REPLIES 10
Robert-Jan Goossens
Honored Contributor

Re: rpcbind behaviour

Hi,

Could you compare the
/etc/nsswitch.conf of a working ws against one of a not working ws.

Robert-Jan.
Jeff Schussele
Honored Contributor

Re: rpcbind behaviour

Hi,

No clue what this C prog does or how it works - but I'd check:

1) That any services it requires are listed in /etc/services

2) That any required entries for /etc/inetd.conf are in there - correctly & inetd -c was run.

3) That an rpcinfo query of the localhost & from the serving host to the client (and vice-versa) returns expected results.

4) That any FW between server & client has the appropriate ruleset to allow desired port/protocol through.

HTH,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
siaemic
Advisor

Re: rpcbind behaviour

Robert,

in two ws (one working while the other not)
/etc/nsswitch.conf file was not present.
It doesn't seem to depend on it
siaemic
Advisor

Re: rpcbind behaviour

Jeff,

we used rpcinfo on 2 different ws.

On one working ws using command:
rpcinfo -p
we saw our prognum listed. Using command:
rpcinfo -T udp ws 536871239 1
we get msg
program 536871239 version 1 ready and waiting


On a not working ws using command:
rpcinfo -p
we saw our prognum listed. Then using command:
rpcinfo -T udp ws 536871239 1
we got msg:
rpcinfo: RPC: Timed out
program 536871239 version 1 is not available

Then we use command:
rpcinfo -d 536871239 1
to deregister it, we relaunched application and using again command:
rpcinfo -T udp ws 536871239 1
we get msg
rpcinfo: RPC: Program not registered

even if keeping in see it with command
rpcinfo -p

siaemic
Advisor

Re: rpcbind behaviour

Jeff,

now we found out how to register udp protocol but tcp one keeps on returning error:

# rpcinfo -T tcp ws 536871239 1
rpcinfo: RPC: Timed out
program 536871239 version 1 is not available
# rpcinfo -T udp ws 536871239 1
program 536871239 version 1 ready and waiting


Jeff Schussele
Honored Contributor

Re: rpcbind behaviour

Hi,

I'd recommend you bounce - or warm start - rpcbind on that system:

/usr/sbin/rpcbind -w

See if that fixes it.

Rgds,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Jeff Schussele
Honored Contributor

Re: rpcbind behaviour

OH....one other thing.
Make sure you have BOTH the UDP and TCP entries for this in the /etc/services file.
If you use both, you need both in there.

Rgds,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Steven E. Protter
Exalted Contributor

Re: rpcbind behaviour

You actaully need an nssswitch.conf file for your networking to work right. On both workstations.

Get one in place to eliminate this as an issue.

rpcbind is after all a network(nfs?) program/daemon.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
siaemic
Advisor

Re: rpcbind behaviour

Jeff,

The behaviour seems to be always the same

# rpcinfo -T tcp ws 536871239 1
rpcinfo: RPC: Timed out
program 536871239 version 1 is not available
# rpcinfo -T udp ws 536871239 1
program 536871239 version 1 ready and waiting

Moreover, each time we register again our prognum vernum we see a different value of port using rpcinfo.

How can we set it in our /etc/services ?
siaemic
Advisor

Re: rpcbind behaviour

Thanks to all for your cooperation.

We succedd in solving our problem. The bug was that we didn't use svc_run to get rpc message but we use our proprietary mainloop. We were in select on several file descripitor. The problem was that we had to call

nfds = getdtablesize();

function to get first parameter for select while we use a wrong value so we were not awoken from select.