spurious failure of test_readv_with_adjust_for_latency(HttpTransport_urllib,HTTPSServer_urllib) on armhf

Bug #902182 reported by Jelmer Vernooij
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
High
Unassigned
Breezy
Fix Released
Medium
Unassigned
bzr (Ubuntu)
Triaged
High
Unassigned

Bug Description

We're getting a spurious failure of one of the https tests on ARM:

ERROR: bzrlib.tests.per_transport.TransportTests.test_readv_with_adjust_for_latency(HttpTransport_urllib,HTTPSServer_urllib)
----------------------------------------------------------------------
_StringException: Text attachment: log
------------

------------
Text attachment: traceback-1
------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/testtools/runtest.py", line 169, in _run_user
    return fn(*args, **kwargs)
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/test_server.py", line 569, in stop_server
    self.server.stop_client_connections()
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/test_server.py", line 373, in stop_client_connections
    self.shutdown_client(c)
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/test_server.py", line 487, in shutdown_client
    connection_thread.join()
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/test_server.py", line 256, in join
    super(TestThread, self).join(timeout)
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/cethread.py", line 126, in run
    super(CatchingExceptionThread, self).run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/test_server.py", line 445, in process_request_thread
    self, request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 585, in process_request_thread
    self.handle_error(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 638, in __init__
    self.handle()
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/http_server.py", line 68, in handle
    SimpleHTTPServer.SimpleHTTPRequestHandler.handle(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 345, in handle
    self.handle_one_request()
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/http_server.py", line 82, in handle_one_request
    self._handle_one_request()
  File "/build/buildd/bzr-2.5.0~beta4/build/lib.linux-armv7l-2.7/bzrlib/tests/http_server.py", line 129, in _handle_one_request
    SimpleHTTPServer.SimpleHTTPRequestHandler.handle_one_request(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 313, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/lib/python2.7/socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
  File "/usr/lib/python2.7/ssl.py", line 232, in recv
    return self.read(buflen)
  File "/usr/lib/python2.7/ssl.py", line 151, in read
    return self._sslobj.read(len)
AttributeError: 'NoneType' object has no attribute 'read'

Jelmer Vernooij (jelmer)
Changed in bzr (Ubuntu):
status: New → Confirmed
status: Confirmed → Triaged
importance: Undecided → High
Changed in bzr:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Vincent Ladeuil (vila) wrote :

Just looking at traceback, this happens during the test tearDown.

Basically, this should be an EBADF exception which would be correctly ignored at this point.

Instead, we get an AttributeError. This rings a bell about some python version not handling the ssl sockets correctly (i.e. raising EBADF when the socket is closed and lose its bound methods) so maybe the python involved there didn't get the right fix...

Does someone remember better than me ?

Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
Jelmer Vernooij (jelmer)
tags: removed: check-for-breezy
Changed in brz:
status: New → Triaged
importance: Undecided → Medium
status: Triaged → Fix Released
Revision history for this message
Jose hernandez (chuyhdzfgz0) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.