[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1595: nondeterministic failure of allmydata.test.test_introducer.SystemTest.test_system on Windows: Address already in use

Tahoe-LAFS trac at tahoe-lafs.org
Wed May 23 15:34:47 UTC 2018


#1595: nondeterministic failure of
allmydata.test.test_introducer.SystemTest.test_system on Windows: Address
already in use
----------------------------+-------------------------------------
     Reporter:  davidsarah  |      Owner:  somebody
         Type:  defect      |     Status:  new
     Priority:  major       |  Milestone:  undecided
    Component:  code        |    Version:  1.9.0
   Resolution:              |   Keywords:  review-needed port test
Launchpad Bug:              |
----------------------------+-------------------------------------
Changes (by exarkun):

 * keywords:  windows cygwin port test => review-needed port test


Old description:

> https://tahoe-lafs.org/buildbot-tahoe-
> lafs/builders/Marcus%20Cygwin%20WinXP/builds/8/steps/test/logs/stdio :
> {{{
> [ERROR]
> Traceback (most recent call last):
>   File
> "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/src/allmydata/test/test_introducer.py",
> line 217, in _restart_introducer_tub
>     self.create_tub(self.central_portnum)
>   File
> "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/src/allmydata/test/test_introducer.py",
> line 85, in create_tub
>     l = tub.listenOn("tcp:%d" % portnum)
>   File
> "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/support/lib/python2.6
> /site-packages/foolscap-0.6.2-py2.6.egg/foolscap/pb.py", line 573, in
> listenOn
>     l.addTub(self)
>   File
> "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/support/lib/python2.6
> /site-packages/foolscap-0.6.2-py2.6.egg/foolscap/pb.py", line 111, in
> addTub
>     self.s.setServiceParent(self.parentTub)
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/service.py",
> line 186, in setServiceParent
>     self.parent.addService(self)
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/service.py",
> line 308, in addService
>     service.privilegedStartService()
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/internet.py",
> line 105, in privilegedStartService
>     self._port = self._getPort()
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/internet.py",
> line 133, in _getPort
>     'listen%s' % (self.method,))(*self.args, **self.kwargs)
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/internet/posixbase.py",
> line 431, in listenTCP
>     p.startListening()
>   File "/usr/lib/python2.6/site-
> packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/internet/tcp.py",
> line 622, in startListening
>     raise CannotListenError, (self.interface, self.port, le)
> twisted.internet.error.CannotListenError: Couldn't listen on any:2795:
> [Errno 112] Address already in use.
>
> allmydata.test.test_introducer.SystemTest.test_system
> }}}
>
> This is on Windows cygwin. I don't know whether it is specific to cygwin;
> I seem to remember that Windows in general will give an error if you try
> to reuse a port just after it has been released.

New description:

 https://tahoe-lafs.org/buildbot-tahoe-
 lafs/builders/Marcus%20Cygwin%20WinXP/builds/8/steps/test/logs/stdio :
 {{{
 [ERROR]
 Traceback (most recent call last):
   File
 "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/src/allmydata/test/test_introducer.py",
 line 217, in _restart_introducer_tub
     self.create_tub(self.central_portnum)
   File
 "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/src/allmydata/test/test_introducer.py",
 line 85, in create_tub
     l = tub.listenOn("tcp:%d" % portnum)
   File
 "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/support/lib/python2.6
 /site-packages/foolscap-0.6.2-py2.6.egg/foolscap/pb.py", line 573, in
 listenOn
     l.addTub(self)
   File
 "/home/marcus/bbtahoe/Marcus_Cygwin_WinXP/build/support/lib/python2.6
 /site-packages/foolscap-0.6.2-py2.6.egg/foolscap/pb.py", line 111, in
 addTub
     self.s.setServiceParent(self.parentTub)
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/service.py",
 line 186, in setServiceParent
     self.parent.addService(self)
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/service.py",
 line 308, in addService
     service.privilegedStartService()
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/internet.py",
 line 105, in privilegedStartService
     self._port = self._getPort()
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/application/internet.py",
 line 133, in _getPort
     'listen%s' % (self.method,))(*self.args, **self.kwargs)
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/internet/posixbase.py",
 line 431, in listenTCP
     p.startListening()
   File "/usr/lib/python2.6/site-
 packages/Twisted-11.1.0-py2.6-cygwin-1.7.9-i686.egg/twisted/internet/tcp.py",
 line 622, in startListening
     raise CannotListenError, (self.interface, self.port, le)
 twisted.internet.error.CannotListenError: Couldn't listen on any:2795:
 [Errno 112] Address already in use.

 allmydata.test.test_introducer.SystemTest.test_system
 }}}

 This is on Windows cygwin. I don't know whether it is specific to cygwin;
 I seem to remember that Windows in general will give an error if you try
 to reuse a port just after it has been released.

--

Comment:

 The test has since been renamed but the underlying problem still exists.
 See #2787 for details.

 The problem is also cross-platform (though different environments may
 encounter the problem with different frequency).

 I've fixed the problem for non-Windows (:/) platforms.  See
 https://github.com/tahoe-lafs/tahoe-lafs/pull/501 for the fix.  See #2927
 for the Windows fix.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1595#comment:2>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list