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: AW: Problems with hanging osiSockTest
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: "Zimoch Dirk (PSI)" <dirk.zimoch at psi.ch>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Date: Wed, 18 Nov 2020 10:00:32 -0800
Running this test again myself, I realize that osiSockTest
is not so robust against firewalls.  I'm adding a check to
handle EPERM from sendto().  This may not be related to
what you see, but I'm also adding some detail to the
'RX ignore' message.


On 11/18/20 4:32 AM, Zimoch Dirk (PSI) via Core-talk wrote:
> After this:
> 
> 1..24
> 
> ok  1 - osiSockAttach
> 
> # udpSockTest()
> 
> ok  2 - epicsSocketCreate INET, DGRAM, 0
> 
> ok  3 - setsockopt BROADCAST := 1
> 
> ok  4 - getsockopt BROADCAST => 1
> 
> ok  5 - setsockopt BROADCAST := 0
> 
> ok  6 - getsockopt BROADCAST => 0
> 
> ok  7 - setsockopt MULTICAST_LOOP := 1
> 
> ok  8 - getsockopt MULTICAST_LOOP => 1
> 
> ok  9 - setsockopt MULTICAST_LOOP := 0
> 
> ok 10 - getsockopt MULTICAST_LOOP => 0
> 
> ok 11 - setsockopt IP_MULTICAST_TTL := 2
> 
> ok 12 - getsockopt IP_MULTICAST_TTL => 2
> 
> ok 13 - setsockopt IP_MULTICAST_TTL := 1
> 
> ok 14 - getsockopt IP_MULTICAST_TTL => 1
> 
> # udpSockFanoutBindTest()
> 
> # First test if epicsSocketEnableAddressUseForDatagramFanout() is necessary
> 
> ok 15 - bind() to port 43731
> 
> ok 16 - bind() to 43731 error -1, 98
> 
> # Now the real test
> 
> ok 17 - bind() to port 43731
> 
> ok 18 - bind() to port 43731
> 
> # udpSockFanoutTest()
> 
> # Interface 129.129.130.255:5064
> 
> # Not LO
> 
> # RX1 start
> 
> # RX2 start
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX2 success 0
> 
> # RX1 success 0
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX2 success 1
> 
> # RX1 success 1
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX2 success 2
> 
> # RX1 success 2
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX2 success 3
> 
> # RX1 success 3
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX1 success 4
> 
> # RX2 success 4
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX ignore
> 
> # RX1 success 5
> 
> # RX1 end
> 
> # RX2 success 5
> 
> # RX2 end
> 
> # Result: RX1 3f:0 RX2 3f:0
> 
> # Interface 192.168.122.255:5064
> 
> # Not LO
> 
> # RX1 start
> 
> # RX2 start
> 
> # RX ignore
> 
> [...]
> 
> Now it repeatedly prints "# RX ignore" forever...
> 
>  
> 
>  
> 
>  
> 
>  
> 
> *Von:*Johnson, Andrew N. <anj at anl.gov>
> *Gesendet:* Dienstag, 17. November 2020 18:11
> *An:* Zimoch Dirk (PSI) <dirk.zimoch at psi.ch>
> *Cc:* EPICS core-talk <core-talk at aps.anl.gov>
> *Betreff:* Re: Problems with hanging osiSockTest
> 
>  
> 
> Dirk,
> 
>  
> 
> What happens if you run that test manually? All EPICS unit tests can be run individually without using the test harness to see more details as the test proceeds. This is my output on RHEL-7.8, which takes about 6 seconds to run:
> 
>  
> 
>     *tux% *cd modules/libcom/test/O.linux-x86_64/
> 
>     *tux% *./osiSockTest 
> 
>     1..24
> 
>     ok  1 - osiSockAttach
> 
>     # udpSockTest()
> 
>     ok  2 - epicsSocketCreate INET, DGRAM, 0
> 
>     ok  3 - setsockopt BROADCAST := 1
> 
>     ok  4 - getsockopt BROADCAST => 1
> 
>     ok  5 - setsockopt BROADCAST := 0
> 
>     ok  6 - getsockopt BROADCAST => 0
> 
>     ok  7 - setsockopt MULTICAST_LOOP := 1
> 
>     ok  8 - getsockopt MULTICAST_LOOP => 1
> 
>     ok  9 - setsockopt MULTICAST_LOOP := 0
> 
>     ok 10 - getsockopt MULTICAST_LOOP => 0
> 
>     ok 11 - setsockopt IP_MULTICAST_TTL := 2
> 
>     ok 12 - getsockopt IP_MULTICAST_TTL => 2
> 
>     ok 13 - setsockopt IP_MULTICAST_TTL := 1
> 
>     ok 14 - getsockopt IP_MULTICAST_TTL => 1
> 
>     # udpSockFanoutBindTest()
> 
>     # First test if epicsSocketEnableAddressUseForDatagramFanout() is necessary
> 
>     ok 15 - bind() to port 55467
> 
>     ok 16 - bind() to 55467 error -1, 98
> 
>     # Now the real test
> 
>     ok 17 - bind() to port 55467
> 
>     ok 18 - bind() to port 55467
> 
>     # udpSockFanoutTest()
> 
>     # Interface 164.54.11.255:5064
> 
>     # Not LO
> 
>     # RX1 start
> 
>     # RX2 start
> 
>     # RX2 success 0
> 
>     # RX1 success 0
> 
>     # RX2 success 1
> 
>     # RX1 success 1
> 
>     # RX2 success 2
> 
>     # RX1 success 2
> 
>     # RX ignore
> 
>     # RX ignore
> 
>     # RX1 success 3
> 
>     # RX2 success 3
> 
>     # RX2 success 4
> 
>     # RX1 success 4
> 
>     # RX1 success 5
> 
>     # RX1 end
> 
>     # RX2 success 5
> 
>     # RX2 end
> 
>     # Result: RX1 3f:0 RX2 3f:0
> 
>     # Interface 192.168.122.255:5064
> 
>     # Not LO
> 
>     # RX1 start
> 
>     # RX2 start
> 
>     # RX1 success 0
> 
>     # RX2 success 0
> 
>     # RX1 success 1
> 
>     # RX2 success 1
> 
>     # RX1 success 2
> 
>     # RX2 success 2
> 
>     # RX ignore
> 
>     # RX ignore
> 
>     # RX1 success 3
> 
>     # RX2 success 3
> 
>     # RX1 success 4
> 
>     # RX2 success 4
> 
>     # RX1 success 5
> 
>     # RX1 end
> 
>     # RX2 success 5
> 
>     # RX2 end
> 
>     # Result: RX1 3f:0 RX2 3f:0
> 
>     ok 19 - Found non-loopback interface
> 
>     ok 20 - Successes 2
> 
>     # tcpSockReuseBindTest(0)
> 
>     ok 21 - bind() to port 53058
> 
>     ok 22 - bind() to 53058 error -1, 98
> 
>     # tcpSockReuseBindTest(1)
> 
>     # epicsSocketEnableAddressReuseDuringTimeWaitState
> 
>     ok 23 - bind() to port 34068
> 
>     ok 24 - bind() to 34068 error -1, 98
> 
>      
> 
>         Results
> 
>         =======
> 
>            Tests: 24 
> 
>           Passed:  24 = 100.00%
> 
> 
> 
>  
> 
> - Andrew
> 
>  
> 
>  
> 
>  
> 
> 
> 
>     On Nov 17, 2020, at 4:47 AM, Zimoch Dirk (PSI) via Core-talk <core-talk at aps.anl.gov <mailto:core-talk at aps.anl.gov>> wrote:
> 
>      
> 
>     Hello everybody,
> 
>     I have problems with a test in EPICS 7 commit 8fd36d8eef3420b42e7936e949928a6b43df7e15.
> 
>     osiSockTest seems to take forever.
> 
>     'make runtests' hangs here:
>     osiSockTest.t ................. 1/24
> 
>     'make tapfiles' hangs here:
>     perl -CSD osiSockTest.t -tap > osiSockTest.tap
> 
>     I am testing on RedHat 7 (linux-x86_64).
> 
>     Any ideas?
> 
>     Dirk
> 
>  
> 
> -- 
> 
> Complexity comes for free, simplicity you have to work for.
> 
>  
> 


Replies:
Re: AW: Problems with hanging osiSockTest Michael Davidsaver via Core-talk
References:
Problems with hanging osiSockTest Zimoch Dirk (PSI) via Core-talk
Re: Problems with hanging osiSockTest Johnson, Andrew N. via Core-talk
AW: Problems with hanging osiSockTest Zimoch Dirk (PSI) via Core-talk

Navigate by Date:
Prev: Re: another git question Michael Davidsaver via Core-talk
Next: Build failed: epics-base base-integration-600 AppVeyor 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: AW: Problems with hanging osiSockTest Zimoch Dirk (PSI) via Core-talk
Next: Re: AW: Problems with hanging osiSockTest Michael Davidsaver 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, 18 Nov 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·