duplicity hangs on sftp (no encryption)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Invalid
|
Undecided
|
Unassigned |
Bug Description
We are using Duplicity on RHEL7 (EPEL) and are experiencing hanging/stalling situations. This happened when using GPG (pub/priv key), but we were able to narrow it down to a hang issue even in this scenario:
-------
[root@localhost ~]# /usr/bin/python /usr/bin/duplicity --no-encrypt /usr/sbin/ sftp://
Local and Remote metadata are synchronized, no sync needed.
Warning, found incomplete backup sets, probably left from aborted session
Last full backup date: none
No signatures found, switching to full backup.
[ hangs ]
-------
Hitting CTRL-C does not terminate the process.
On the remote storage, this file is created:
-------
drwxr-xr-x 1 0 0 3 17. Feb 16:08 .
drwxr-xr-x 1 0 0 4 17. Feb 16:08 ..
-rw-r--r-- 1 0 0 0 17. Feb 16:08 duplicity-
-------
Versions:
-------
[root@localhost]# python -V
Python 2.7.5
[root@localhost]# duplicity -V
duplicity 0.6.24
[root@localhost]# yum info python-paramiko
...
Version : 1.15.1
Release : 1.el7
-------
Verbose log:
-------
[root@localhost ~]# /usr/bin/python /usr/bin/duplicity --no-encrypt -v9 /usr/sbin/ sftp://
Using archive dir: /root/.
Using backup name: 2f780b2947feb9f
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
Import of duplicity.
ssh: starting thread (client mode): 0x172dd90L
ssh: Connected (version 2.0, client mod_sftp/0.9.9)
ssh: kex algos:[
ssh: Ciphers agreed: local=aes128-ctr, remote=aes128-ctr
ssh: using kex diffie-
ssh: Switch to new keys ...
ssh: userauth is OK
ssh: Authentication (password) successful!
ssh: [chan 1] Max packet in: 32768 bytes
ssh: [chan 1] Max packet out: 0 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('fnord')
ssh: [chan 1] mkdir('fnord', 511)
ssh: [chan 1] stat('fnord')
ssh: [chan 1] normalize('fnord')
Main action: inc
=======
duplicity 0.6.24 (May 09, 2014)
Args: /usr/bin/duplicity --no-encrypt -v9 /usr/sbin/ sftp://
Linux localhost.
/usr/bin/python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]
=======
Using temporary directory /tmp/duplicity-
Registering (mkstemp) temporary file /tmp/duplicity-
Temp has 28068343808 available, backup will use approx 34078720.
ssh: [chan 1] listdir('/fnord/.')
Local and Remote metadata are synchronized, no sync needed.
ssh: [chan 1] listdir('/fnord/.')
0 files exist on backend
2 files exist in cache
Extracting backup chains from list of files: []
Last full backup date: none
Collection Status
-----------------
Connecting with backend: SSHParamikoBackend
Archive dir: /root/.
Found 0 secondary backup chains.
No backup chains with active signatures found
No orphaned or incomplete backup sets found.
No signatures found, switching to full backup.
Using temporary directory /root/.
Registering (mktemp) temporary file /root/.
Using temporary directory /root/.
Registering (mktemp) temporary file /root/.
AsyncScheduler: instantiating at concurrency 0
Registering (mktemp) temporary file /tmp/duplicity-
Selecting /usr/sbin
Comparing . and None
Getting delta of (. dir) and None
A .
Selecting /usr/sbin/accessdb
Comparing accessdb and None
Getting delta of (accessdb reg) and None
A accessdb
...
Selecting /usr/sbin/zic
Comparing zic and None
Getting delta of (zic reg) and None
A zic
Removing still remembered temporary file /root/.
Removing still remembered temporary file /root/.
AsyncScheduler: running task synchronously (asynchronicity disabled)
ssh: [chan 1] open('/
ssh: [chan 1] open('/
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
ssh: Sending global request "<email address hidden>"
[repeats]
-------
I am having the same issue. Did you figure this one out?
What struck me was "Max packet out: 0 bytes". I wonder where Paramiko gets that information from and whether that literally means: I will not send anything, which would explain the situation.