caget w/ missing CA name server is slow to fail
Bug #1532328 reported by
mdavidsaver
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Confirmed
|
Low
|
Unassigned |
Bug Description
When EPICS_CA_
> export EPICS_CA_
> caget TST{pico}Mode-Sel
> CAC: Unable to connect because "Connection refused"
> Channel connect timed out: 'TST{pico}Mode-Sel' not found.
> CAC TCP socket shutdown error was Transport endpoint is not connected
From the error, the delay isn't waiting for connect(), but may be due to some missing error handling which doesn't handle failure of connect().
I'm testing with Base 3.14.12.3.
To post a comment you must log in.
Confirmed:
tux$ time caget this-is- not-a-real- pv not-a-real- pv' not found.
Channel connect timed out: 'this-is-
real 0m1.012s
user 0m0.005s
sys 0m0.005s
tux$ export EPICS_CA_ NAME_SERVERS= nomachine not-a-real- pv CA_NAME_ SERVERS' not-a-real- pv' not found.
tux$ time caget this-is-
../iocinf.cpp: Parsing 'EPICS_
Bad internet address or host name: 'nomachine'
Channel connect timed out: 'this-is-
real 0m1.020s
user 0m0.006s
sys 0m0.006s
tux$ export EPICS_CA_ NAME_SERVERS= tux not-a-real- pv not-a-real- pv' not found.
tux$ time caget this-is-
CAC: Unable to connect because "Connection refused"
Channel connect timed out: 'this-is-
CAC TCP socket shutdown error was Transport endpoint is not connected
real 0m30.015s
user 0m0.003s
sys 0m0.010s
If there is a real name-server (or an IOC) on the host with no such PV, the failure is fast again:
tux$ time caget this-is- not-a-real- pv not-a-real- pv' not found.
Channel connect timed out: 'this-is-
real 0m1.010s
user 0m0.007s
sys 0m0.006s