We have a program, written in C, that uses RPC to communicate with another program (also written in C) on the same Linux server (in some production setups, the second C program would on another machine, therefore RPC instead of IPC).
When called from other C programs, CRON or the command line, it works as expected and has been doing so for many years, so it's safe to say it generally works.
The same program, called from a groovy script, fails, apparently with network problems.
In the C program, svc_register(xprt, prognum, versnum, dispatch, protocol)
succeeds, but then
- on the RPC server after request:
clnttcp_create
fails with "connection refused" - on the RPC client waiting for reply:
select
onsvc_fdset
fails withEBADF
Groovy program (just for completeness, not much to see here):
[ "myprogram", "someoption", "someprogram" ].execute()
Any ideas what we could try to pinpoint and fix the problem?