[SRU] dput sftp upload hangs after all files successfully uploaded
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Max Bowsher | ||
2.3 |
Fix Released
|
Critical
|
Max Bowsher | ||
bzr (Ubuntu) |
Fix Released
|
Undecided
|
Max Bowsher | ||
Lucid |
Won't Fix
|
Undecided
|
Unassigned | ||
Maverick |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Nature of problem:
I am experiencing sftp uploads to ppa.launchpad.net reliably failing to terminate. The dput process appears to be waiting for the ssh (sftp) subprocess to terminate, but it never does. When killed, the upload has actually been successful, and is accepted by Launchpad.
Reason for SRUing:
Launchpad is trying to promote SFTP uploads as the better way to upload packages, so that it can know who did an upload even if the upload is unsigned or wrongly signed, but SFTP uploads currently do not work.
How addressed:
Leakage of subprocess stdout/stdin filehandles, which caused the subprocess to never exit, which caused the parent process to wait forever for it to do so, has been fixed.
Minimal patch:
Please see diff in this MP: https:/
TEST CASE:
Attempt to dput any source package to ppa.launchpad.net via SFTP. If the dput process exits successfully, this is a success. If the bug is present, the dput process hangs waiting for a child ssh process to exit, but it never does.
To do this:
1) Configure dput to use sftp. In ~/.dput.cf, add:
[ppa]
fqdn = ppa.launchpad.net
method = sftp
incoming = ~%(ppa)s/ubuntu
login = your-lp-id
2) Get a debian source package, it doesn't matter what. e.g. use `apt-get source hello`. Build it, so you have a valid signed *_source.changes file.
3) dput ppa:not-
Regression potential: Very slim, it's a shallow and well understood bug, with small diff to fix.
MicroReleaseExc
+ Don't crash when --take-other or --take-this is called for a text
conflict. LP: #646961
+ Make 'bzr commit' in a checkout propagate new tags to the master.
LP: #603395
I will need a sponsored upload. I hope to have this occur by a sponsor using 'bzr builddeb' from lp:~maxb/ubuntu/maverick/bzr/sru - I will provide a .dsc and .debian.tar.gz if that's not acceptable.
-------- STOP PRESS --------
This SRU may not happen like this. I've just discovered our MicroReleaseExc
UPDATE: This has been resolved, see comment #5.
Related branches
- John A Meinel: Approve
- Andrew Bennetts: Approve
-
Diff: 91 lines (+21/-18)2 files modifiedNEWS (+3/-0)
bzrlib/transport/ssh.py (+18/-18)
Changed in bzr: | |
milestone: | none → 2.2.2 |
assignee: | nobody → Max Bowsher (maxb) |
importance: | Undecided → High |
status: | New → Fix Released |
summary: |
- sftp upload hangs after all files successfully uploaded + dput sftp upload hangs after all files successfully uploaded |
description: | updated |
Changed in bzr (Ubuntu): | |
status: | New → In Progress |
Changed in bzr (Ubuntu Lucid): | |
status: | New → Triaged |
Changed in bzr (Ubuntu Maverick): | |
status: | New → Triaged |
Changed in bzr (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | added: testcase |
It seems this is due to a regression in bzrlib, such that it does not close the stdin/out to the child process.