breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh fails with newer paramiko versions

Bug #1861731 reported by Jelmer Vernooij
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Breezy
Fix Released
Critical
Jelmer Vernooij

Bug Description

ERROR: breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh

----------------------------------------------------------------------

Traceback (most recent call last):

testtools.testresult.real._StringException: log: {{{

1108.370 failed to load system host keys: [Errno 2] No such file or directory: '/tmp/testbzr-3sh27cao.tmp/breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh/home/.ssh/known_hosts'

1108.370 failed to load brz host keys: [Errno 2] No such file or directory: '/tmp/testbzr-3sh27cao.tmp/breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh/home/breezy/ssh_host_keys'

1108.370 creating config directory: '/tmp/testbzr-3sh27cao.tmp/breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh/home/breezy'

}}}

traceback-1: {{{

Traceback (most recent call last):

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/pkey.py", line 363, in _read_private_key_pem

    data = decodebytes(b("".join(lines[start:end])))

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/base64.py", line 546, in decodebytes

    return binascii.a2b_base64(s)

binascii.Error: Incorrect padding

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/travis/build/breezy-team/breezy/breezy/tests/stub_sftp.py", line 523, in stop_server

    super(SFTPServer, self).stop_server()

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_server.py", line 575, in stop_server

    self.server.stop_client_connections()

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_server.py", line 379, in stop_client_connections

    self.shutdown_client(c)

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_server.py", line 493, in shutdown_client

    connection_thread.join()

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_server.py", line 262, in join

    super(TestThread, self).join(timeout)

  File "/home/travis/build/breezy-team/breezy/breezy/cethread.py", line 148, in join

    reraise(exc_class, exc_value, exc_tb)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/six.py", line 703, in reraise

    raise value

  File "/home/travis/build/breezy-team/breezy/breezy/cethread.py", line 128, in run

    super(CatchingExceptionThread, self).run()

  File "/opt/python/3.6.7/lib/python3.6/threading.py", line 864, in run

    self._target(*self._args, **self._kwargs)

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_server.py", line 451, in process_request_thread

    self, request, client_address)

  File "/opt/python/3.6.7/lib/python3.6/socketserver.py", line 653, in process_request_thread

    self.handle_error(request, client_address)

  File "/opt/python/3.6.7/lib/python3.6/socketserver.py", line 651, in process_request_thread

    self.finish_request(request, client_address)

  File "/opt/python/3.6.7/lib/python3.6/socketserver.py", line 361, in finish_request

    self.RequestHandlerClass(request, client_address, self)

  File "/opt/python/3.6.7/lib/python3.6/socketserver.py", line 719, in __init__

    self.setup()

  File "/home/travis/build/breezy-team/breezy/breezy/tests/stub_sftp.py", line 368, in setup

    ptrans.add_server_key(tcs.get_host_key())

  File "/home/travis/build/breezy-team/breezy/breezy/tests/stub_sftp.py", line 495, in get_host_key

    self._host_key = paramiko.RSAKey.from_private_key_file(key_file)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/pkey.py", line 235, in from_private_key_file

    key = cls(filename=filename, password=password)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/rsakey.py", line 55, in __init__

    self._from_private_key_file(filename, password)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/rsakey.py", line 175, in _from_private_key_file

    data = self._read_private_key_file("RSA", filename, password)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/pkey.py", line 308, in _read_private_key_file

    data = self._read_private_key(tag, f, password)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/pkey.py", line 334, in _read_private_key

    data = self._read_private_key_pem(lines, end, password)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/pkey.py", line 365, in _read_private_key_pem

    raise SSHException("base64 decoding error: {}".format(e))

paramiko.ssh_exception.SSHException: base64 decoding error: Incorrect padding

}}}

Traceback (most recent call last):

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/transport.py", line 2211, in _check_banner

    buf = self.packetizer.readline(timeout)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/packet.py", line 380, in readline

    buf += self._read_timeout(timeout)

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/packet.py", line 609, in _read_timeout

    raise EOFError()

EOFError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/travis/build/breezy-team/breezy/breezy/transport/ssh.py", line 283, in _connect

    t.start_client()

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/transport.py", line 660, in start_client

    raise e

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/transport.py", line 2039, in run

    self._check_banner()

  File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/paramiko/transport.py", line 2216, in _check_banner

    "Error reading SSH protocol banner" + str(e)

paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/travis/build/breezy-team/breezy/breezy/tests/test_transport.py", line 1083, in test_bzr_connect_to_bzr_ssh

    t.mkdir('foo')

  File "/home/travis/build/breezy-team/breezy/breezy/transport/remote.py", line 248, in mkdir

    self._serialise_optional_mode(mode))

  File "/home/travis/build/breezy-team/breezy/breezy/transport/remote.py", line 187, in _call2

    return self._client.call(method, *args)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 60, in call

    result, protocol = self.call_expecting_body(method, *args)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 73, in call_expecting_body

    method, args, expect_response_body=True)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 56, in _call_and_read_response

    return request.call_and_read_response()

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 156, in call_and_read_response

    return self._call_determining_protocol_version()

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 220, in _call_determining_protocol_version

    response_tuple, response_handler = self._call(protocol_version)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 190, in _call

    response_handler = self._send(protocol_version)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 270, in _send

    self._send_no_retry(encoder)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/client.py", line 319, in _send_no_retry

    encoder.call(self.method, *self.args)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/protocol.py", line 1325, in call

    self._write_end()

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/protocol.py", line 1146, in _write_end

    self.flush()

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/protocol.py", line 1112, in flush

    self._real_write_func(b''.join(self._buf))

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/medium.py", line 570, in accept_bytes

    self._accept_bytes(bytes)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/medium.py", line 1204, in _accept_bytes

    self._medium._accept_bytes(bytes)

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/medium.py", line 1014, in _accept_bytes

    self._ensure_connection()

  File "/home/travis/build/breezy-team/breezy/breezy/bzr/smart/medium.py", line 1038, in _ensure_connection

    '--directory=/', '--allow-writes'])

  File "/home/travis/build/breezy-team/breezy/breezy/transport/ssh.py", line 327, in connect_ssh

    t = self._connect(username, password, host, port)

  File "/home/travis/build/breezy-team/breezy/breezy/transport/ssh.py", line 285, in _connect

    self._raise_connection_error(host, port=port, orig_error=e)

  File "/home/travis/build/breezy-team/breezy/breezy/transport/ssh.py", line 251, in _raise_connection_error

    orig_error=orig_error)

breezy.errors.SocketConnectionError: Unable to connect to SSH host localhost:46789; Error reading SSH protocol banner

----------------------------------------------------------------------

Ran 31923 tests in 1221.533s

FAILED (errors=1, known_failure_count=69)

4151 tests skipped

The command "BRZ_PLUGIN_PATH=-site:-user python -Werror -Wignore::ImportWarning -Wignore::PendingDeprecationWarning -Wignore::DeprecationWarning -Wignore::ResourceWarning -Wignore::UserWarning ./brz selftest --parallel=fork $SELFTEST_OPTIONS" exited with 1.
cache.2

store build cache

Jelmer Vernooij (jelmer)
Changed in brz:
milestone: none → 3.0.3
status: Triaged → Fix Committed
assignee: nobody → Jelmer Vernooij (jelmer)
Jelmer Vernooij (jelmer)
Changed in brz:
milestone: 3.0.3 → none
status: Fix Committed → Fix Released
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.