[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Duplicity-talk] RuntimeError: maximum recursion depth exceeded
From: |
Alexander Skwar |
Subject: |
Re: [Duplicity-talk] RuntimeError: maximum recursion depth exceeded |
Date: |
Thu, 10 May 2007 16:07:17 +0200 |
User-agent: |
Thunderbird 2.0.0.0 (X11/20070419) |
Kenneth Loafman schrieb:
> Alexander Skwar wrote:
>> Hello!
>>
>> Last night I used Duplicity 0.4.2 to make a backup of my server.
>> Or rather, I tried :)
>>
>> After 201 minutes, it failed.
>>
>> [...]
>> Catched exception ftplib.error_perm530 Sorry, no more connections for
>> your ip (#1), sleeping 10s before retry..
>> Catched exception ftplib.error_perm530 Sorry, no more connections for
>> your ip (#1), sleeping 10s before retry..
>> Catched exception ftplib.error_perm530 Sorry, no more connections for
>> your ip (#1), sleeping 10s before retry..
>> Catched exception ftplib.error_perm530 Sorry, no more connections for
>> your ip (#1), sleeping 10s before retry..
>> login ['1431', '********']
>> FTP: connect ('backupserver',)
>> FTP: login ['1431', '********']
>> FTP: connect ('backupserver',)
>> FTP: login ['1431', '********']
>> FTP: connect
>> ('backupserver',)
>>
>> FTP: login ['1431', '********']
>> FTP: connect ('backupserver',)
>> [...]
>> File "/usr/lib/python2.4/site-packages/duplicity/backends.py", line
>> 342, in connect
>> self.error_wrap('login', self.parsed_url.user, self.get_password())
>> File "/usr/lib/python2.4/site-packages/duplicity/backends.py", line
>> 384, in error_wrap
>> self.connect()
>> File "/usr/lib/python2.4/site-packages/duplicity/backends.py", line
>> 336, in connect
>> self.error_wrap('connect', self.parsed_url.host)
>> File "/usr/lib/python2.4/site-packages/duplicity/backends.py", line
>> 367, in error_wrap
>> return ftplib.FTP.__dict__[command](self.ftp, *args)
>> File "/usr/lib/python2.4/ftplib.py", line 132, in connect
>> self.welcome = self.getresp()
>> File "/usr/lib/python2.4/ftplib.py", line 207, in getresp
>> resp = self.getmultiline()
>> File "/usr/lib/python2.4/ftplib.py", line 193, in getmultiline
>> line = self.getline()
>> File "/usr/lib/python2.4/ftplib.py", line 180, in getline
>> line = self.file.readline()
>> RuntimeError: maximum recursion depth exceeded
>>
>> Why did I get this RuntimeError? Did duplicity try to login to the
>> FTP server multiple times?
>>
>> You can find the logfile of verbosity=5 at
>> http://alexander.skwar.name/~askwar/stuff/Duplicity%20Thu%20May%2010%2000:57:53%20CEST%202007.txt
>>
>> (Size: 15m) or at
>> http://alexander.skwar.name/~askwar/stuff/Duplicity%20Thu%20May%2010%2000:57:53%20CEST%202007.txt.bz2
>>
>> (Size: 779k).
>>
>> Thanks a lot,
>>
>> Alexander Skwar
>
> Thanks for the detail, I got the logfile.
>
> Just a couple of questions to help me with this:
> 1) what was the command line?
I actually did not use duplicity directly, but rather a "front end"
called ftplicity. You can find it at
http://www.heise.de/ct/06/13/links/216.shtml
It's quite a simple script, which basically does nothing more than reading
a config file and setting environment variables.
Anyway. Here's the start of the output from running "sudo bash -x ftplicity
backup":
address@hidden ~/Programme/ftplicity-1.1.1 $ sudo bash -x ftplicity backup
++ basename ftplicity
+ ME=ftplicity
+ CONFDIR=/home/askwar/.ftplicity
+ CONF=/home/askwar/.ftplicity/conf
+ PRE=/home/askwar/.ftplicity/pre
+ POST=/home/askwar/.ftplicity/post
+ EXCLUDE=/home/askwar/.ftplicity/exclude
+ KEYFILE=/home/askwar/.ftplicity/gpgkey
++ which duplicity
+ DUPLICITY=/usr/bin/duplicity
++ which gpg
+ GPG=/usr/bin/gpg
+ '[' -z /usr/bin/duplicity ']'
+ '[' -z /usr/bin/gpg ']'
+ '[' '!' -d /home/askwar/.ftplicity ']'
+ secureconf
+ chmod -R go-rwx /home/askwar/.ftplicity
+ '[' -f /home/askwar/.ftplicity/conf ']'
+ . /home/askwar/.ftplicity/conf
++ GPG_KEY=59B64302
++ GPG_PW=.................my gpg password.........................
++ ZIEL=ftp://address@hidden/duplicity-backup
++ ZIEL_PW=................my ftp server password..................
++ QUELLE=/.backup
++ HOECHSTALTER=1M
++ VERBOSITY=9
++ TEMP_DIR=/tmp
+ /usr/bin/gpg --list-secret-key 59B64302
+ '[' '!' -f /home/askwar/.ftplicity/gpgkey ']'
+ '[' -f /home/askwar/.ftplicity/exclude ']'
+ cmd=backup
+ shift
+ case "$cmd" in
+ '[' -x /home/askwar/.ftplicity/pre ']'
+ ftply --exclude-globbing-filelist /home/askwar/.ftplicity/exclude /.backup
ftp://address@hidden/duplicity-backup
+ FTP_PASSWORD=................my ftp server password..................
+ PASSPHRASE=.................my gpg password.........................
+ TMPDIR=/tmp
+ /usr/bin/duplicity --encrypt-key 59B64302 --sign-key 59B64302 --verbosity 9
--exclude-globbing-filelist /home/askwar/.ftplicity/exclude /.backup
ftp://address@hidden/duplicity-backup
FTP: connect ('backupserver',)
[...]
> 2) what else was running?
It's a web, mail server. So: apache2, cyrus imap, postfix, ssh.
> Especially, what could eat up your
> connections while backup is in progress?
No clue.
> Bittorrent?
Nope.
How many connections to the ftp server does duplicity build up? Is
it always and every just one? Can it never be more than one?
Not being a python export, the error message "RuntimeError: maximum recursion
depth exceeded"
seems to indicate to me, that duplicity called some function recursively
and did so, until a "maximum recursion depth" is reached. Does duplictiy
build a connection to the FTP server in that "loop"?
Thanks,
Alexander Skwar