TooManyConcurrent Requests and Crash after accessing User Configuration while viewing a checkout bound via bzr+ssh

Bug #648294 reported by Martitza
46
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Bazaar Explorer
Confirmed
High
Unassigned

Bug Description

ubuntu lucid lynx
bzr 2.2.0
bzr-tools 2.2.0
qbzr 0.19.0
bzr-explorer 1.1b1

Create two "views" of a preexisting branch: one a full branch and one a checkout, both via bzr+ssh.

Access Settings > Configuration > User Configuration from Welcome page ==> no problem.
Access Settings > Configuration > User Configuration from full branch page ==> no problem.
Access Settings > Configuration > User Configuration from checkout page ==> problem, leading to crash.

The User Configuration dialog opens, but when I click "OK" I get the attached crash report.

Revision history for this message
Martitza (martitzam) wrote :
Revision history for this message
Alexander Belchenko (bialix) wrote :
Download full text (3.8 KiB)

bzr: ERROR: bzrlib.errors.TooManyConcurrentRequests: The medium 'SmartSSHClientMedium(bzr+ssh://<email address hidden>/)' 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://<email address hidden>/)' 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.UT...

Read more...

Revision history for this message
Alexander Belchenko (bialix) wrote :

So, actually this error triggered by Refresh action of the Working Tree browser. I'm not sure we want to open/modify the branch.conf in qconfig while we're editing the global settings, but it seems it has happened. Or maybe you just have two refresh in a row after qconfig.

Revision history for this message
Alexander Belchenko (bialix) wrote :

Side note: I'm getting sick of TooManyConcurrentRequests problems in Explorer. There is something fundamentally wrong here. Either in Explorer design or in the underlying bzr smart server model. Or maybe in the bound branches. I don't know.

Revision history for this message
Martitza (martitzam) wrote : Re: [Bug 648294] Re: TooManyConcurrent Requests and Crash after accessing User Configuration while viewing a checkout bound via bzr+ssh

On Mon, Sep 27, 2010 at 12:24 AM, Alexander Belchenko <email address hidden>wrote:

> Side note: I'm getting sick of TooManyConcurrentRequests problems in
> Explorer. There is something fundamentally wrong here. Either in
> Explorer design or in the underlying bzr smart server model. Or maybe in
> the bound branches. I don't know.
>
>
@Alexander: Your comment above sums up my users' opinions as well. This
kind of error is probably occurring too frequently. I have not looked at
the code, but maybe this is an opportunity to factor something out of
qconfig which does not need to be there. If I had to guess, I'd say the
smart server is not involved, unless Bazaar Explorer is deliberately poking
it. My original reason for opening Settings > Configuration > User
Configuration was only to change my 'bzr whoami' information. You can
imagine how surprised I was to get an SSH error for what should be a local
operation.

Best,
~M

Revision history for this message
Alexander Belchenko (bialix) wrote : Re: [Bug 648294] Re: TooManyConcurrent Requests and Crash after accessing User Configuration while viewing a checkout bound via bzr+ssh

Martitza пишет:
> On Mon, Sep 27, 2010 at 12:24 AM, Alexander Belchenko
> <email address hidden>wrote:
>
>> Side note: I'm getting sick of TooManyConcurrentRequests problems in
>> Explorer. There is something fundamentally wrong here. Either in
>> Explorer design or in the underlying bzr smart server model. Or maybe in
>> the bound branches. I don't know.
>>
>>
> @Alexander: Your comment above sums up my users' opinions as well. This
> kind of error is probably occurring too frequently. I have not looked at
> the code, but maybe this is an opportunity to factor something out of
> qconfig which does not need to be there. If I had to guess, I'd say the
> smart server is not involved, unless Bazaar Explorer is deliberately poking
> it. My original reason for opening Settings > Configuration > User
> Configuration was only to change my 'bzr whoami' information. You can
> imagine how surprised I was to get an SSH error for what should be a local
> operation.

Oh, I think I know why you get this problem with qconfig. You just
said that: whoami! Whoami could be set for branch level, therefore
there could be branch.conf involved. I need to check this guess...

Changed in bzr-explorer:
status: New → Incomplete
Revision history for this message
Alexander Belchenko (bialix) wrote :

Well, I found at least 2 duplicates of this. :-(

Changed in bzr-explorer:
status: Incomplete → Confirmed
importance: Undecided → High
Revision history for this message
Martitza (martitzam) wrote : Re: [Bug 648294] Re: TooManyConcurrent Requests and Crash after accessing User Configuration while viewing a checkout bound via bzr+ssh

You don;t even have to actually edit the whoami info. Try this:

Watch the sshd activity with 'tail -f /var/log/auth' on the machine running
the smartserver while you do this:

1. Start bzr explorer.
2. "Open" the page for a checkout.
3. Select Settings > Configuration > User Settings
4. Just click "OK" -- you don't even have to change any settings

On Mon, Sep 27, 2010 at 3:27 PM, Alexander Belchenko <email address hidden> wrote:

> Well, I found at least 2 duplicates of this. :-(
>
> ** Changed in: bzr-explorer
> Status: Incomplete => Confirmed
>
> ** Changed in: bzr-explorer
> Importance: Undecided => High
>
> --
> TooManyConcurrent Requests and Crash after accessing User Configuration
> while viewing a checkout bound via bzr+ssh
> https://bugs.launchpad.net/bugs/648294
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Bazaar Explorer: Confirmed
>
> Bug description:
>
> ubuntu lucid lynx
> bzr 2.2.0
> bzr-tools 2.2.0
> qbzr 0.19.0
> bzr-explorer 1.1b1
>
> Create two "views" of a preexisting branch: one a full branch and one a
> checkout, both via bzr+ssh.
>
> Access Settings > Configuration > User Configuration from Welcome page ==>
> no problem.
> Access Settings > Configuration > User Configuration from full branch page
> ==> no problem.
> Access Settings > Configuration > User Configuration from checkout page ==>
> problem, leading to crash.
>
> The User Configuration dialog opens, but when I click "OK" I get the
> attached crash report.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/bzr-explorer/+bug/648294/+subscribe
>

Revision history for this message
Lars Vierbergen (vierbergenlars) wrote :

It even happens when bazaar explorer is just idle. When i switch to that window, the error just pops up. Is it auto-refresh or what?

Revision history for this message
Alexander Belchenko (bialix) wrote :

Lars Vierbergen пишет:
> It even happens when bazaar explorer is just idle. When i switch to that
> window, the error just pops up. Is it auto-refresh or what?

Yep. You can disable auto-refresh: Tools - Options - Behavior - uncheck
"Automatically refresh status report"

--
All the dude wanted was his rug back

Revision history for this message
kylef (kylef) wrote :

Freinds, I get this problem even though I definitely have "AUtomatically refresh status report" UNchecked.

FYI, I somehow did not find this report and just created a dup a few minutes ago. I'll go track it down and point it here.

tags: added: multiprocess
tags: added: too-many-concurrent-requests
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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