Duplicity using sftp loses session during upload (lp:#1396579)

[Original report](https://bugs.launchpad.net/bugs/1396579) created by **Adam Watkins (acwatkins)**
```
Duplicity 0.6.24-1~bpo70+1
tried paramiko (1.7.7.1-3.1), (1.10.1-1~bpo70+1), and (1.15.1, latest from
pip install)
OS Debian Wheezy, tried both non-backport and backport duplicity.
Target Raspbian on raspberry pi, BTRFS.

I initially suspected the Raspberry Pi for power issues, but verified the
bug without any voltage drop and a solid session that keeps running after
the error occurs.  (3 tmux panes, one doing nothing, one running htop, and
one polling temp, all stay up during error)

The problem seems to happen at random times, sometimes very quickly,
sometimes it takes several hundred volumes.  I have tried --timeout and
various ssh timeout configs both on the server and client side.  The other
sessions never time out even when doing nothing, so it doesn't seem to be
ssh session timeout related.

It always seems to happen mid-copy, it starts uploading then stops, the
raspberry pi cpu goes to idle and duplicity hangs for quite a while before
reporting any error.  It then goes through all of the retries very quickly
and dies.  If you start it over again right away, it works again for a
while.

First 200 and last 200 lines of the log file at verbosity 9:

Using archive dir: /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12
Using backup name: 5cfb1d777d89aa7a0480ea189be37c12
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cfbackend Succeeded
Import of duplicity.backends.dpbxbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.megabackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.swiftbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Import of duplicity.backends.~par2wrapperbackend Succeeded
ssh: starting thread (client mode): 0x29fc950L
ssh: Connected (version 2.0, client OpenSSH_6.0p1)
ssh: kex algos:[u'ecdh-sha2-nistp256', u'ecdh-sha2-nistp384', u'ecdh-
sha2-nistp521', u'diffie-hellman-group-exchange-sha256', u'diffie-hellman-
group-exchange-sha1', u'diffie-hellman-group14-sha1', u'diffie-hellman-
group1-sha1'] server key:[u'ssh-rsa', u'ssh-dss', u'ecdsa-sha2-nistp256']
client encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'arcfour256',
u'arcfour128', u'aes128-cbc', u'3des-cbc', u'blowfish-cbc', u'cast128-cbc',
u'aes192-cbc', u'aes256-cbc', u'arcfour', u'rijndael-cbc@lysator.liu.se']
server encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'arcfour256',
u'arcfour128', u'aes128-cbc', u'3des-cbc', u'blowfish-cbc', u'cast128-cbc',
u'aes192-cbc', u'aes256-cbc', u'arcfour', u'rijndael-cbc@lysator.liu.se']
client mac:[u'hmac-md5', u'hmac-sha1', u'umac-64@openssh.com', u'hmac-
sha2-256', u'hmac-sha2-256-96', u'hmac-sha2-512', u'hmac-sha2-512-96',
u'hmac-ripemd160', u'hmac-ripemd160@openssh.com', u'hmac-sha1-96', u'hmac-
md5-96'] server mac:[u'hmac-md5', u'hmac-sha1', u'umac-64@openssh.com',
u'hmac-sha2-256', u'hmac-sha2-256-96', u'hmac-sha2-512', u'hmac-
sha2-512-96', u'hmac-ripemd160', u'hmac-ripemd160@openssh.com', u'hmac-
sha1-96', u'hmac-md5-96'] client compress:[u'none', u'zlib@openssh.com']
server compress:[u'none', u'zlib@openssh.com'] client lang:[u''] server
lang:[u''] kex follows?False
ssh: Ciphers agreed: local=aes128-ctr, remote=aes128-ctr
ssh: using kex diffie-hellman-group14-sha1; server key type ssh-rsa;
cipher: local aes128-ctr, remote aes128-ctr; mac: local hmac-sha1, remote
hmac-sha1; compression: local none, remote none
ssh: Switch to new keys ...
ssh: Trying discovered key sshkey in /root/.ssh/id_rsa
ssh: userauth is OK
ssh: Authentication (publickey) successful!
ssh: [chan 1] Max packet in: 32768 bytes
ssh: [chan 1] Max packet out: 32768 bytes
ssh: Secsh channel 1 opened.
ssh: [chan 1] Sesch channel 1 request ok
ssh: [chan 1] Opened sftp connection (server version 3)
ssh: [chan 1] stat('/srv')
ssh: [chan 1] stat('/srv')
ssh: [chan 1] normalize('/srv')
ssh: [chan 1] stat('/srv/backup')
ssh: [chan 1] stat('/srv/backup')
ssh: [chan 1] normalize('/srv/backup')
Main action: inc
================================================================================
duplicity 0.6.24 (May 09, 2014)
Args: /usr/bin/duplicity --archive-dir=/srv/duplicity-cache --verbosity 9
--timeout=100 --encrypt-key FF288AD2 --full-if-older-than 6M
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures
scp://user@servername.com//srv/backup
Linux backupserver 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
/usr/bin/python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2]
================================================================================
Using temporary directory /tmp/duplicity-OyokD_-tempdir
Registering (mkstemp) temporary file /tmp/duplicity-OyokD_-tempdir/mkstemp-
wNLSVi-1
Temp has 4836524032 available, backup will use approx 34078720.
ssh: [chan 1] listdir('/srv/backup/.')
Local and Remote metadata are synchronized, no sync needed.
ssh: [chan 1] listdir('/srv/backup/.')
0 files exist on backend
6 files exist in cache
Extracting backup chains from list of files: [u'duplicity-full-
signatures.20141123T173040Z.sigtar.part', u'duplicity-
full.20141123T173040Z.manifest.part']
File duplicity-full-signatures.20141123T173040Z.sigtar.part is not part of
a known set; creating new set
Ignoring file (rejected by backup set) 'duplicity-full-
signatures.20141123T173040Z.sigtar.part'
File duplicity-full.20141123T173040Z.manifest.part is not part of a known
set; creating new set
Found backup chain [Sun Nov 23 12:30:40 2014]-[Sun Nov 23 12:30:40 2014]
Last full backup left a partial set, restarting.
Last full backup date: Sun Nov 23 12:30:40 2014
Collection Status
-----------------
Connecting with backend: SSHParamikoBackend
Archive dir: /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12

Found 0 secondary backup chains.

Found primary backup chain with matching signature chain:
-------------------------
Chain start time: Sun Nov 23 12:30:40 2014
Chain end time: Sun Nov 23 12:30:40 2014
Number of contained backup sets: 1
Total number of contained volumes: 0
 Type of backup set:                            Time:      Num volumes:
-------------------------
No orphaned or incomplete backup sets found.
RESTART: The first volume failed to upload before termination.
         Restart is impossible...starting backup from beginning.
Deleting /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-
full-signatures.20141123T173040Z.sigtar.part
Deleting /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-
full.20141123T173040Z.manifest.part
Releasing lockfile <lockfile.LinkFileLock instance at 0x2a65368>
Using archive dir: /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12
Using backup name: 5cfb1d777d89aa7a0480ea189be37c12
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cfbackend Succeeded
Import of duplicity.backends.dpbxbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.megabackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.swiftbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Import of duplicity.backends.~par2wrapperbackend Succeeded
ssh: starting thread (client mode): 0x1866890L
ssh: Connected (version 2.0, client OpenSSH_6.0p1)
ssh: kex algos:[u'ecdh-sha2-nistp256', u'ecdh-sha2-nistp384', u'ecdh-
sha2-nistp521', u'diffie-hellman-group-exchange-sha256', u'diffie-hellman-
group-exchange-sha1', u'diffie-hellman-group14-sha1', u'diffie-hellman-
group1-sha1'] server key:[u'ssh-rsa', u'ssh-dss', u'ecdsa-sha2-nistp256']
client encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'arcfour256',
u'arcfour128', u'aes128-cbc', u'3des-cbc', u'blowfish-cbc', u'cast128-cbc',
u'aes192-cbc', u'aes256-cbc', u'arcfour', u'rijndael-cbc@lysator.liu.se']
server encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'arcfour256',
u'arcfour128', u'aes128-cbc', u'3des-cbc', u'blowfish-cbc', u'cast128-cbc',
u'aes192-cbc', u'aes256-cbc', u'arcfour', u'rijndael-cbc@lysator.liu.se']
client mac:[u'hmac-md5', u'hmac-sha1', u'umac-64@openssh.com', u'hmac-
sha2-256', u'hmac-sha2-256-96', u'hmac-sha2-512', u'hmac-sha2-512-96',
u'hmac-ripemd160', u'hmac-ripemd160@openssh.com', u'hmac-sha1-96', u'hmac-
md5-96'] server mac:[u'hmac-md5', u'hmac-sha1', u'umac-64@openssh.com',
u'hmac-sha2-256', u'hmac-sha2-256-96', u'hmac-sha2-512', u'hmac-
sha2-512-96', u'hmac-ripemd160', u'hmac-ripemd160@openssh.com', u'hmac-
sha1-96', u'hmac-md5-96'] client compress:[u'none', u'zlib@openssh.com']
server compress:[u'none', u'zlib@openssh.com'] client lang:[u''] server
lang:[u''] kex follows?False
ssh: Ciphers agreed: local=aes128-ctr, remote=aes128-ctr
ssh: using kex diffie-hellman-group14-sha1; server key type ssh-rsa;
cipher: local aes128-ctr, remote aes128-ctr; mac: local hmac-sha1, remote
hmac-sha1; compression: local none, remote none
ssh: Switch to new keys ...
ssh: Trying discovered key sshkey in /root/.ssh/id_rsa
ssh: userauth is OK
ssh: Authentication (publickey) successful!
ssh: [chan 1] Max packet in: 32768 bytes
ssh: [chan 1] Max packet out: 32768 bytes
ssh: Secsh channel 1 opened.
ssh: [chan 1] Sesch channel 1 request ok
ssh: [chan 1] Opened sftp connection (server version 3)
ssh: [chan 1] stat('/srv')
ssh: [chan 1] stat('/srv')
ssh: [chan 1] normalize('/srv')
ssh: [chan 1] stat('/srv/backup')
ssh: [chan 1] stat('/srv/backup')
ssh: [chan 1] normalize('/srv/backup')
Main action: inc
================================================================================
duplicity 0.6.24 (May 09, 2014)
Args: /usr/bin/duplicity --archive-dir=/srv/duplicity-cache --verbosity 9
--timeout=100 --encrypt-key FF288AD2 --full-if-older-than 6M
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures
scp://user@servername.com//srv/backup
Linux backupserver 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
/usr/bin/python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2]
================================================================================
Using temporary directory /tmp/duplicity-Zb7zLH-tempdir
Registering (mkstemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mkstemp-
d_K6J0-1
Temp has 4836519936 available, backup will use approx 34078720.
ssh: [chan 1] listdir('/srv/backup/.')
Local and Remote metadata are synchronized, no sync needed.
ssh: [chan 1] listdir('/srv/backup/.')
0 files exist on backend
4 files exist in cache
Extracting backup chains from list of files: []
Last full backup date: none
Last full backup is too old, forcing full backup
Collection Status
-----------------
Connecting with backend: SSHParamikoBackend
Archive dir: /srv/duplicity-cache/5cfb1d777d89aa7a0480ea189be37c12

Found 0 secondary backup chains.
No backup chains with active signatures found
No orphaned or incomplete backup sets found.
Using temporary directory /srv/duplicity-
cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-1KALrH-tempdir
Registering (mktemp) temporary file /srv/duplicity-
cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-1KALrH-tempdir/mktemp-
ufav9d-1
Using temporary directory /srv/duplicity-
cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-RP2cbc-tempdir
Registering (mktemp) temporary file /srv/duplicity-
cache/5cfb1d777d89aa7a0480ea189be37c12/duplicity-RP2cbc-
tempdir/mktemp-f1nRxq-1
AsyncScheduler: instantiating at concurrency 0
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-
tempdir/mktemp-U1K7pR-2
Selecting /srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures
Comparing . and None
Getting delta of (. dir) and None
A .
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/.DS_Store
Comparing .DS_Store and None
Getting delta of (.DS_Store reg) and None
A .DS_Store
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/._.DS_Store
Comparing ._.DS_Store and None
Getting delta of (._.DS_Store reg) and None
A ._.DS_Store
Selecting /srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/0-3
Months.lrsmcol
Comparing 0-3 Months.lrsmcol and None
Getting delta of (0-3 Months.lrsmcol reg) and None
A 0-3 Months.lrsmcol
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008
Comparing 2008 and None
Getting delta of (2008 dir) and None
A 2008
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday
Comparing 2008/2008-08-23 - Dad's Birthday and None
Getting delta of (2008/2008-08-23 - Dad's Birthday dir) and None
A 2008/2008-08-23 - Dad's Birthday
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-001.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-001.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-001.jpg reg)
and None
A 2008/2008-08-23 - Dad's Birthday/20080823-001.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-003.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-003.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-003.jpg reg)
and None
A 2008/2008-08-23 - Dad's Birthday/20080823-003.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-005.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-005.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-005.jpg reg)
and None
A 2008/2008-08-23 - Dad's Birthday/20080823-005.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-008.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-008.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-008.jpg reg)
and None
A 2008/2008-08-23 - Dad's Birthday/20080823-008.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-009.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-009.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-009.jpg reg)
and None
A 2008/2008-08-23 - Dad's Birthday/20080823-009.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/20080823-017.jpg
Comparing 2008/2008-08-23 - Dad's Birthday/20080823-017.jpg and None
Getting delta of (2008/2008-08-23 - Dad's Birthday/20080823-017.jpg reg)
and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol201+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol201+14.PAR2
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol47.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol47.difftar.gpg', 'wb') -> 00000000
ssh: [chan 1] close(00000000)
ssh: [chan 1] stat('/srv/backup/duplicity-
full.20141126T024349Z.vol47.difftar.gpg')
Deleting /tmp/duplicity-Zb7zLH-tempdir/mktemp-AeDjjP-48
Forgetting temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-AeDjjP-48
AsyncScheduler: task completed successfully
Processed volume 47
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-
cc8eGT-49
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/Originals/20080823.vol215+14.PAR2
Comparing 2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol215+14.PAR2 and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol215+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol215+14.PAR2
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/Originals/20080823.vol229+14.PAR2
Comparing 2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol229+14.PAR2 and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol229+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol229+14.PAR2
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/Originals/20080823.vol243+14.PAR2
Comparing 2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol243+14.PAR2 and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol243+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol243+14.PAR2
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/Originals/20080823.vol257+14.PAR2
Comparing 2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol257+14.PAR2 and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol257+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol257+14.PAR2
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol48.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol48.difftar.gpg', 'wb') -> 00000000
ssh: [chan 1] close(00000000)
ssh: [chan 1] stat('/srv/backup/duplicity-
full.20141126T024349Z.vol48.difftar.gpg')
Deleting /tmp/duplicity-Zb7zLH-tempdir/mktemp-cc8eGT-49
Forgetting temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-cc8eGT-49
AsyncScheduler: task completed successfully
Processed volume 48
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-
SVF2Wr-50
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-08-23
- Dad's Birthday/Originals/20080823.vol271+14.PAR2
Comparing 2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol271+14.PAR2 and None
Getting delta of (2008/2008-08-23 - Dad's
Birthday/Originals/20080823.vol271+14.PAR2 reg) and None
A 2008/2008-08-23 - Dad's Birthday/Originals/20080823.vol271+14.PAR2
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary
Comparing 2008/2008-10-04 - Pat and Harry's 50th Anniversary and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th Anniversary dir)
and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-001.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-001.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-001.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-001.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-002.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-002.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-002.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-002.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-003.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-003.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-003.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-003.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-004.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-004.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-004.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-004.jpg
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol49.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol49.difftar.gpg', 'wb') -> 00000000
ssh: [chan 1] close(00000000)
ssh: [chan 1] stat('/srv/backup/duplicity-
full.20141126T024349Z.vol49.difftar.gpg')
Deleting /tmp/duplicity-Zb7zLH-tempdir/mktemp-SVF2Wr-50
Forgetting temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-SVF2Wr-50
AsyncScheduler: task completed successfully
Processed volume 49
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-
geFkFD-51
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-005.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-005.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-005.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-005.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-006.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-006.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-006.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-006.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-007.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-007.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-007.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-007.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-008.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-008.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-008.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-008.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-009.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-009.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-009.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-009.jpg
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol50.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol50.difftar.gpg', 'wb') -> 00000000
ssh: [chan 1] close(00000000)
ssh: [chan 1] stat('/srv/backup/duplicity-
full.20141126T024349Z.vol50.difftar.gpg')
Deleting /tmp/duplicity-Zb7zLH-tempdir/mktemp-geFkFD-51
Forgetting temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-geFkFD-51
AsyncScheduler: task completed successfully
Processed volume 50
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-
Ryoxw4-52
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-010.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-010.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-010.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-010.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-011.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-011.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-011.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-011.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-012.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-012.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-012.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-012.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-013.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-013.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-013.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-013.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-014.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-014.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-014.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-014.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-015.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-015.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-015.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-015.jpg
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol51.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol51.difftar.gpg', 'wb') -> 00000000
ssh: [chan 1] close(00000000)
ssh: [chan 1] stat('/srv/backup/duplicity-
full.20141126T024349Z.vol51.difftar.gpg')
Deleting /tmp/duplicity-Zb7zLH-tempdir/mktemp-Ryoxw4-52
Forgetting temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-Ryoxw4-52
AsyncScheduler: task completed successfully
Processed volume 51
Registering (mktemp) temporary file /tmp/duplicity-Zb7zLH-tempdir/mktemp-
TpPauK-53
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-016.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-016.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-016.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-016.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-017.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-017.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-017.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-017.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-018.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-018.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-018.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-018.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-019.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-019.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-019.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-019.jpg
Selecting
/srv/backup/normalRetention/.sync/fileserver/srv/smb/pictures/2008/2008-10-04
- Pat and Harry's 50th Anniversary/20081004-020.jpg
Comparing 2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-020.jpg and None
Getting delta of (2008/2008-10-04 - Pat and Harry's 50th
Anniversary/20081004-020.jpg reg) and None
A 2008/2008-10-04 - Pat and Harry's 50th Anniversary/20081004-020.jpg
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb')
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb') -> 00000000
ssh: Sending global request "keepalive@lag.net"
ssh: EOF in transport thread
ssh: [chan 1] close(00000000)
sftp put of /tmp/duplicity-Zb7zLH-tempdir/mktemp-TpPauK-53 (as duplicity-
full.20141126T024349Z.vol52.difftar.gpg) failed:  (Try 1 of 5) Will retry
in 10 seconds.
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb')
sftp put of /tmp/duplicity-Zb7zLH-tempdir/mktemp-TpPauK-53 (as duplicity-
full.20141126T024349Z.vol52.difftar.gpg) failed: Socket is closed (Try 2 of
5) Will retry in 10 seconds.
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb')
sftp put of /tmp/duplicity-Zb7zLH-tempdir/mktemp-TpPauK-53 (as duplicity-
full.20141126T024349Z.vol52.difftar.gpg) failed: Socket is closed (Try 3 of
5) Will retry in 10 seconds.
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb')
sftp put of /tmp/duplicity-Zb7zLH-tempdir/mktemp-TpPauK-53 (as duplicity-
full.20141126T024349Z.vol52.difftar.gpg) failed: Socket is closed (Try 4 of
5) Will retry in 10 seconds.
ssh: [chan 1] open('/srv/backup/duplicity-
full.20141126T024349Z.vol52.difftar.gpg', 'wb')
sftp put of /tmp/duplicity-Zb7zLH-tempdir/mktemp-TpPauK-53 (as duplicity-
full.20141126T024349Z.vol52.difftar.gpg) failed: Socket is closed (Try 5 of
5) Will retry in 10 seconds.
Releasing lockfile <lockfile.LinkFileLock instance at 0x18d0368>
Removing still remembered temporary file /tmp/duplicity-Zb7zLH-
tempdir/mkstemp-d_K6J0-1
Removing still remembered temporary file /tmp/duplicity-Zb7zLH-
tempdir/mktemp-TpPauK-53
Backend error detail: Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1509, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1503, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1352, in main
    do_backup(action)
  File "/usr/bin/duplicity", line 1473, in do_backup
    full_backup(col_stats)
  File "/usr/bin/duplicity", line 545, in full_backup
    globals.backend)
  File "/usr/bin/duplicity", line 427, in write_multivol
    (tdp, dest_filename, vol_num)))
  File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line
145, in schedule_task
    return self.__run_synchronously(fn, params)
  File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line
171, in __run_synchronously
    ret = fn(*params)
  File "/usr/bin/duplicity", line 426, in <lambda>
    async_waiters.append(io_scheduler.schedule_task(lambda tdp,
dest_filename, vol_num: put(tdp, dest_filename, vol_num),
  File "/usr/bin/duplicity", line 315, in put
    backend.put(tdp, dest_filename)
  File "/usr/lib/python2.7/dist-
packages/duplicity/backends/_ssh_paramiko.py", line 306, in put
    raise BackendException("Giving up trying to upload '%s' after %d
attempts" % (remote_filename,n))
BackendException: Giving up trying to upload 'duplicity-
full.20141126T024349Z.vol52.difftar.gpg' after 5 attempts

BackendException: Giving up trying to upload 'duplicity-
full.20141126T024349Z.vol52.difftar.gpg' after 5 attempts
```

Story points: 6.0