repeatedly opening bzr+ssh connections to LP instances hangs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Incomplete
|
Medium
|
Unassigned | ||
Launchpad itself |
Triaged
|
High
|
Unassigned |
Bug Description
If transports are not reused, the third attempt to open an LP branch hangs. This happens with local dev branches and with qastaging, but does not happen with production, or local non-launchpad.dev branches.
The issue is that bzrlib.
It may be worth noting that _close_ssh_proc does not send any signal to the process. Instead, it closes the process's stdin, stdout and socket.
For me, forking before opening the branch was an effective work-around. Supplying possible_transports to Branch.open may also be suitable.
Script to reproduce:
from bzrlib.branch import Branch
from bzrlib.errors import NotBranchError
for x in range(3):
try:
except NotBranchError:
pass
tags: | added: launchpad |
Changed in launchpad: | |
status: | New → Triaged |
importance: | Undecided → High |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 6/27/2012 6:16 PM, Aaron Bentley wrote: transport. ssh._close_ ssh_proc hangs in Popen.wait forever. open('bzr+ ssh://bazaar. launchpad. dev/moo' ) except
> Public bug reported:
>
> If transports are not reused, the third attempt to open an LP
> branch hangs. This happens with local dev branches and with
> qastaging, but does not happen with production, or local
> non-launchpad.dev branches.
>
> The issue is that bzrlib.
> suprocess.
>
> It may be worth noting that _close_ssh_proc does not send any
> signal to the process. Instead, it closes the process's stdin,
> stdout and socket.
>
> For me, forking before opening the branch was an effective
> work-around. Supplying possible_transports to Branch.open may also
> be suitable.
>
> Script to reproduce:
>
> from bzrlib.branch import Branch from bzrlib.errors import
> NotBranchError for x in range(3): try:
> Branch.
> NotBranchError: pass
>
> ** Affects: bzr Importance: Undecided Status: New
>
This may be related to the forking-server code. It is enabled on qastaging/ and dev. It is not enabled in production. It may be
staging/
the reason we were seeing connection limits reached in the past.
As such, I'm guessing this is a Launchpad issue, and not a bzr one.
You can try looking in the launchpad config file and disable
'use_forking_server = True' setting it to False (it has been a while
since I worked on it, though.)
affects: launchpad
John
=:->
-----BEGIN PGP SIGNATURE----- enigmail. mozdev. org/
rakUACgkQJdeBCY SNAANgIQCgv+ B34eA/QXtOu152g ZUULL0A vqeYLp430m+ 6ChUsM
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAk/
qsYAn05xGl63SPd
=exY9
-----END PGP SIGNATURE-----