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  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Error message binding socket 5076 on vxWorks
From: Heinz Junkes via Core-talk <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 13 Jan 2020 11:04:50 +0100
I was gonna jump in this morning. I've been very busy the last few days and I haven't had time.
But Michael is right, I've always(?) had the problem with RTEMS.

This is an e-mail from me to Marty from 2016(!):

On 10/14/2016 03:11 PM, Heinz Junkes wrote:
>> Hi Marty,
> I could’nt answer you hangout video call. I assume you are still waiting for my mail to Matej an you about
> 
> the EPICS_PVA_XXX environment variables. I haven’t finished my investigations. I also might have 
> 
> a RTEMS issue and was diverted from sending the mail ;-)
> 
> When I am running pvaSrv on RTEMS starting “startPVAServer" leads to an error binding UDP socket to my interface 141.14.128.10:5076: 
> 
> I changed the epicsSocketEnableAddressUseForDatagramFanout in my RTEMS installation in that way that also 
> SO_REUSEPORT (in addition to SO_REUSEADDR) is set. The interface is available, the only one, up and running. 
> 
> startPVAServer 
> 2016-10-14T12:52:36.612 Creating acceptor to 0.0.0.0:5075. 
> 2016-10-14T12:52:36.669 Creating datagram socket to: 0.0.0.0:0. 
> 2016-10-14T12:52:36.669 Accepting connections at 0.0.0.0:5075. 
> 2016-10-14T12:52:36.849 call epicsSocketEnableAddressUseForDatagramFanout(10). 
> set REUSEPORT... 
> set REUSEADDR... 
> 2016-10-14T12:52:36.977 No broadcast addresses found or specified - empty address list! 
> 2016-10-14T12:52:37.064 Setting up UDP for interface 141.14.128.10, broadcast 141.14.143.255. 
> 2016-10-14T12:52:37.163 Creating datagram socket to: 141.14.128.10:5076.  
> 2016-10-14T12:52:37.286 call epicsSocketEnableAddressUseForDatagramFanout(11). 
> set REUSEPORT... 
> set REUSEADDR… 
> 
> ——>  2016-10-14T12:52:37.409 Error binding socket: Address not available (errno: 125). 
> 
> 
> 2016-10-14T12:52:37.496 Creating datagram socket to: 224.0.0.128:5076.  
> 2016-10-14T12:52:37.617 call epicsSocketEnableAddressUseForDatagramFanout(11). 
> set REUSEPORT... 
> set REUSEADDR... 
> 2016-10-14T12:52:37.740 Local multicast enabled on 127.0.0.1/224.0.0.128:5076. 
> 
> 
> VERSION : pvAccess Server v5.0.1-SNAPSHOT 
> PROVIDER_NAMES.
> 
> …
> 
> I will try to send the E-Mail tomorrow …
> 
> kind regards,
> 
> Heinz
> 
> 
> 
I don't know what my current state is like now that I am using the new libbsd for networking on RTEMS. 
I will try to check that today.

Viele Grüße
Heinz Junkes
--
Experience directly varies with equipment ruined.



> On 12. Jan 2020, at 21:10, Michael Davidsaver <[email protected]> wrote:
> 
> On 1/12/20 9:50 AM, Michael Davidsaver wrote:
>> While I would expect this would have been noticed before now,
>> one possibility is that SO_REUSEADDR doesn't have the desired effect
>> on vxWorks.  At least not for UDP sockets.
> 
> Maybe not as far fetched as I had thought.  It seems that this has been
> the case for RTEMS 4.9/4.10.  I found an old email from Heinz reporting
> what seems like a similar issue in 2016 (sorry Heinz, I guess this was
> dropped).
> 
>> There is no test coverage, and CA has never needed it to work on this OS.
> 
> A test case seems like the right place to start.  If you update to
> the 7.0 branch from my github repo
> 
> https://github.com/mdavidsaver/epics-base/tree/7.0
> 
> I've extended osiSockTest:
> 
>> # First test if epicsSocketEnableAddressUseForDatagramFanout() is necessary
>> ok 15 - bind() to port 47435
>> ok 16 - bind() to 47435 error -1, 98
>> # Now the real test
>> ok 17 - bind() to port 47435
>> ok 18 - bind() to port 47435
> 
> I'd be interested to know if this passes for you (or Andrew when he reads this) on vxWorks.
> 
> 
> osiSockTest is part of the libCom test harness if that's easier
> for you to run.
> 
> The change I've made is to prefer SO_REUSEPORT on those targets,
> excepting windows/cygwin, which define it.  Google gives some hints
> that this includes vxWorks.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


References:
Error message binding socket 5076 on vxWorks Mark Rivers via Core-talk
Re: Error message binding socket 5076 on vxWorks Michael Davidsaver via Core-talk
Re: Error message binding socket 5076 on vxWorks Mark Rivers via Core-talk
Re: Error message binding socket 5076 on vxWorks Michael Davidsaver via Core-talk
Re: Error message binding socket 5076 on vxWorks Mark Rivers via Core-talk
Re: Error message binding socket 5076 on vxWorks Michael Davidsaver via Core-talk
Re: Error message binding socket 5076 on vxWorks Michael Davidsaver via Core-talk

Navigate by Date:
Prev: Build completed: EPICS Base base-3.15-515 AppVeyor via Core-talk
Next: Re: Error message binding socket 5076 on vxWorks Heinz P. Junkes via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Error message binding socket 5076 on vxWorks Michael Davidsaver via Core-talk
Next: Re: Error message binding socket 5076 on vxWorks Heinz P. Junkes via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 13 Jan 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·