EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: Goetz Pfeiffer <Goetz.Pfeiffer at helmholtz-berlin.de>
Cc: core-talk at aps.anl.gov
Date: Fri, 4 Jun 2021 08:24:07 -0500
On 6/4/21 1:50 AM, Goetz Pfeiffer via Core-talk wrote:
> ...
> 
>         Causes of the problem
> 
> The problem can be tracked down to code in file src/ca/client/udpiiu.cpp in EPICS Base. There function
> "sendto" is used to send UDP unicasts. If this function is called many times with destination IP addresses
> on the local network that do not exist, some UDP buffer in linux fills up and finally sendto blocks for some
> seconds. Then the buffer is (probably) flushed and the next few calls to sendto no longer block. But after
> some time the buffer fills up again and sendto blocks again.

Can you elaborate on this surprising behavior?  Have you investigated
why/where Linux is holding packets?  And how it is that "do not exist"
is determined?

> However, in this part of EPICS Base sendto is not expected to block. When this happens the channel
> access server code cannot answer requests.
> 
> 
>         Resolution of the problem
> 
> We provide the "MSG_DONTWAIT" flag to the "sendto" call. By this, sendto never blocks even if internal
> UDP buffers are full.
> 
> I have added a patch file for this to this e-mail.

I don't see any issue with this change, though I would format it as:

#ifndef MSG_DONTWAIT
#  define MSG_DONTWAIT (0)
#endif

>         Finally...
> 
> Could you please look if you to have this problem, too ?
> Maybe you could add my patch to EPICS Base ?

What other patching is being done?  Anything related to DNS lookups?

Replies:
Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
References:
EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Goetz Pfeiffer via Core-talk

Navigate by Date:
Prev: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Ralph Lange via Core-talk
Next: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Ralph Lange via Core-talk
Next: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 04 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·