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` on `svc_fdset` fails with `EBADF`

Groovy program (just for completeness, not much to see here):

```
[ "myprogram", "someoption", "someprogram" ].execute()

```

What could we try to pinpoint and fix the problem?