AttributeError: RsyncBackend instance has no attribute 'subprocess_popen_persist'

Asked by Paul Hassinger

I'm running Ubuntu 10.04/lucid 64 bit. When using duplicity, my command works fine. I'm having issues with large files, so I see the latest version corrects some off those issues.

I've tried using Micahel Terry's PPA and get the lucid version of duplicity.

Upon doing so, the command fails. See command and results below. I'm happy to help test.

Command:
duplicity / rsync://user-replaced:password-replaced@server-replaced::/backup-folder

Results:
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1257, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1250, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1151, in main
    sync_archive()
  File "/usr/bin/duplicity", line 928, in sync_archive
    remlist = globals.backend.list()
  File "/usr/lib/python2.6/dist-packages/duplicity/backends/rsyncbackend.py", line 130, in list
    result, stdout = self.run_command(commandline)
  File "/usr/lib/python2.6/dist-packages/duplicity/backends/rsyncbackend.py", line 101, in run_command
    result, stdout, stderr = self.subprocess_popen_persist(commandline)
AttributeError: RsyncBackend instance has no attribute 'subprocess_popen_persist'

Question information

Language:
English Edit question
Status:
Solved
For:
Duplicity Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Paul Hassinger (hassinger-paul) said :
#1

Just to be more specific, duplicity works with the command I supplied with the ubuntu repositories (Duplicity 0.6.08b)

The command fails when I use Michael Terry's PPA (Duplicity 0.6.10)

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#2

The same issue also occurs when I install 0.6.10 from source.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#3

For more info, I also tried installing from source 0.6.09 and 0.6.08 and had the same issue with both.

I then installed using the Ubuntu 10.04 repositories using apt-get and confirmed that version 0.6.08b from those repositories ran the same command just fine. I'm looking at changelogs, and see there were changes to how it processes command-line arguments in 490619.

Apparently, something must be awry with the command-line arguments I'm using, but I'm just not seeing it.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#4

actually, 0.6.08 was before 0.6.08b, so invalid command line arguments don't make sense either.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#5

More info: I'm using Python 2.6.

The only thing that makes sense to me is that the code won't run with Python 2.6.

I don't easily have a 2.5 box available this evening. Will try tomorrow, but am not sure if that works, how I'll solve that issue.

Revision history for this message
edso (ed.so) said :
#6

this is caused by this change in 0.6.10

http://bazaar.launchpad.net/~duplicity-team/duplicity/0.6-series/revision/665

it is a bug and kenneth will fix it for the next release. For now stick to 0.6.09 or patch backend.py manually.

ede

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#7

You said this is a bug? What bug number is that? I cannot find it or follow it to see if patches get applied. Should I convert this to a bug?

I would gladly install 0.6.09, however, when I do, I can't use it due to bug:
https://bugs.launchpad.net/duplicity/+bug/631275

I'd preferably patch 0.6.10, but I don't know what to patch. I'd revert the code changes from revision 665, but not being a Python developer, I see the .pot file has all sorts of references to globalization/locale on other things that I fear would then break.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#8

I guess the other thing I'm not sure of is if https://bugs.launchpad.net/duplicity/+bug/631275 is even repaired in 0.6.10, even though it's just listed in 0.6.09 and not closed.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#9

As a temporary fix, though not to these issues, I took 0.6.08b and applied the patches of just the items I needed and built it.

Revision history for this message
Paul Hassinger (hassinger-paul) said :
#10

Didn't mean to close the question.

Revision history for this message
edso (ed.so) said :
#11

as i wrote

>this is caused by this change in 0.6.10
>http://bazaar.launchpad.net/~duplicity-team/duplicity/0.6-series/revision/665

reverse these changes and you should be set.

The bug is not in the tracker so far. We only discussed it on the mailing list. Maybe you could add it, so it won't be forgotten.

thanks ede/duply,net

Revision history for this message
edso (ed.so) said :
#12
Revision history for this message
edso (ed.so) said :
#13

created a bug pointing here
https://bugs.launchpad.net/bugs/674506

ede/duply.net

Revision history for this message
edso (ed.so) said :
#14

created a bug pointing here
https://bugs.launchpad.net/bugs/674506

ede/duply.net

Revision history for this message
edso (ed.so) said :
#15

should be solved when

https://code.launchpad.net/~ed.so/duplicity/0.6.10-backend_fixes

is merged .. ede/duply.net

Revision history for this message
Elliot Murphy (statik) said :
#16

I have added this patch to the duplicity package in Natty, and tested that it solves the problem for me. Thanks for writing the patch!

Revision history for this message
Jamie Lokier (jamie-shareable) said :
#17

Maverick's duplicity is still broken with this bug, and unfortunately the Natty package won't run on Maverick (it depends on python 2.7 vs. python 2.6). Any change of merging the fix into Maverick? Thanks.

Revision history for this message
edso (ed.so) said :
#18

jamie,

why don't you simply setup the duplicity tarball?

get it at duplicity.org
unpack, chdir folder
run python setup.py install

hints:
make sure you have librsync devel install plus gcc. if somethings missing the setup will tell you.
uninstall installed duplicity first so shared libs won't clash ..

alternatively try to install it to a custom path with all lib in the application folder. i do this as i have to test new versions from time to time. it is described here http://ftplicity.svn.sourceforge.net/viewvc/ftplicity/duply/trunk/INSTALL.txt

ede/duply.net

Revision history for this message
robegue (r087r70) said :
#19

there's no need to reinstall because only three files are changed: backend.py , backends/rsyncbackend.py, backends/rsyncbackend.py

download these files from
http://bazaar.launchpad.net/~ed.so/duplicity/0.6.10-backend_fixes/files/head:/duplicity

and copy them into the duplicity folder:

$ sudo cp backend.py /usr/share/pyshared/duplicity/
$ sudo cp rsyncbackend.py /usr/share/pyshared/duplicity/backends/
$ sudo cp ftpbackend.py /usr/share/pyshared/duplicity/backends/

Revision history for this message
robegue (r087r70) said :
#20

errata: the second file is backends/ftpbackend.py