Bazaar Explorer crash on qconfig when using checkouts via bzr+ssh

Maritza Mendez martitzam at gmail.com
Sun Sep 26 17:25:20 BST 2010


If this bug has been reported, I failed to find it on Launchpad.  There have
been numerous "TooManyConcurrentRequests" bugs filed, but most/all of them
seem to be related to legitimate attempts to open an ssh connection.  I have
found a case in which there seems to be no legitimate reason to involve ssh.

Before posting this to the list, I have taken a step back from the edge and
am using only the stable ppa (http://ppa.launchpad.net/bzr/ppa/ubuntu) to
get my bzr components for Linux.  As a result, I'm running bzr 2.2.0 (via
2.2.0-1~bazaar4~lucid1) but still on qbzr 0.19.0 (via
0.19-1~bazaar1~lucid1).  I do not know if what I am about to describe is
already resolved in releases not yet in the stable ppa.

I also have bzr (also 2.2) installed on a remote machine we'll call
server.net.  On that machine, a user 'user' owns some branches and also has
a copy of my ssh public key.  So on my local working machine I do something
like

'bzr checkout bzr+ssh//user at server.net/home/user/test/trunk<localpath>/test'

to get a checkout.  That works fine, of course.

Now, if on the local machine I open this checkout with Bazaar Explorer, most
things work fine.

But if I select Settings > Configuration > User Configuration, Bazaar
Explorer crashes when the dialog is closed with

bzr: ERROR: bzrlib.errors.TooManyConcurrentRequests: The medium
'SmartSSHClientMedium(bzr+ssh://user@server.net/)' has reached its
concurrent request limit. Be sure to finish_writing and finish_reading on
the currently open request.

If I open the same settings dialog either from the Welcome page or from a
page associated with a real branch (not a checkout) then everything is ok.

So it *appears* that either qconfig or explorer is triggering an
illegitimate ssh connection request when the active GUI page is a checkout
via bzr+ssh.

I am attaching a traceback which pops in a dialog but does *not* get written
to .bzr.log.

Thoughts?

~M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20100926/cee3342c/attachment.htm 
-------------- next part --------------
bzr: ERROR: bzrlib.errors.TooManyConcurrentRequests: The medium 'SmartSSHClientMedium(bzr+ssh://user@server.net/)' has reached its concurrent request limit. Be sure to finish_writing and finish_reading on the currently open request.

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/explorer.py", line 1237, in _file_edited_handler
    callback()
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/explorer.py", line 1689, in do_refresh
    self.changed_view()
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/explorer.py", line 667, in changed_view
    self._wt_browser.set_tree(view.tree, view.branch)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/wt_browser.py", line 65, in set_tree
    self._browser.set_tree(tree, branch)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/wt_browser.py", line 469, in set_tree
    self._tree_viewer.set_tree(tree, branch)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer/lib/wt_browser.py", line 691, in set_tree
    treewidget.TreeWidget.set_tree(self, *args)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr/lib/treewidget.py", line 1446, in set_tree
    last_revno = branch.last_revision_info()[0]
  File "/usr/lib/python2.6/dist-packages/bzrlib/decorators.py", line 140, in read_locked
    result = unbound(self, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/branch.py", line 970, in last_revision_info
    self._last_revision_info_cache = self._last_revision_info()
  File "/usr/lib/python2.6/dist-packages/bzrlib/remote.py", line 2546, in _last_revision_info
    response = self._call('Branch.last_revision_info', self._remote_path())
  File "/usr/lib/python2.6/dist-packages/bzrlib/remote.py", line 55, in _call
    return self._client.call(method, *args)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/client.py", line 132, in call
    result, protocol = self.call_expecting_body(method, *args)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/client.py", line 145, in call_expecting_body
    method, args, expect_response_body=True)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/client.py", line 79, in _call_and_read_response
    readv_body=readv_body, body_stream=body_stream)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/client.py", line 45, in _send_request
    protocol_version)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/client.py", line 115, in _construct_protocol
    request = self._medium.get_request()
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/medium.py", line 711, in get_request
    return SmartClientStreamMediumRequest(self)
  File "/usr/lib/python2.6/dist-packages/bzrlib/smart/medium.py", line 969, in __init__
    raise errors.TooManyConcurrentRequests(self._medium)
TooManyConcurrentRequests: The medium 'SmartSSHClientMedium(bzr+ssh://user@server.net/)' has reached its concurrent request limit. Be sure to finish_writing and finish_reading on the currently open request.

bzr 2.2.0 on python 2.6.5 (linux2)
arguments: ['/usr/bin/bzr', 'explorer']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
  bash_completion      /usr/lib/python2.6/dist-packages/bzrlib/plugins/bash_completion [2.2.0]
  bzrtools             /usr/lib/python2.6/dist-packages/bzrlib/plugins/bzrtools [2.2.0]
  explorer             /usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer [1.1b1]
  launchpad            /usr/lib/python2.6/dist-packages/bzrlib/plugins/launchpad [2.2.0]
  netrc_credential_store /usr/lib/python2.6/dist-packages/bzrlib/plugins/netrc_credential_store [2.2.0]
  news_merge           /usr/lib/python2.6/dist-packages/bzrlib/plugins/news_merge [2.2.0]
  qbzr                 /usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr [0.19.0]


More information about the bazaar mailing list