[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Duplicity-talk] Duplicity fails on Mac OS X when backuping certain dire

From: Christian Plessl
Subject: [Duplicity-talk] Duplicity fails on Mac OS X when backuping certain directories
Date: Wed, 16 Jun 2004 16:36:39 +0200

Hi duplicity users

When using duplicity with Mac OS X, I discovered a strange behavior. While duplicity backups certain directories without problems (using the scp backend), it fails for some source directories.

duplicity fails because of an assertion in addfile in the tarfile.py module (line 759 in current cvs checkout of tarfile.py)

File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ tarfile.py",
    line 761, in addfile
        assert len(full_headers) % BLOCKSIZE == 0

At the time of the assertion the respective values are:
  len(full_headers)=1544 and BLOCKSIZE=512

I've seen that the version of tarfile.py that is bundled with duplicity is rather old. But replacing it with the most up-to-date version fails, because the latest tarfile.py version does not provide a TarFromIterator method anymore (or it has been renamed/replaced).

Does anyone have an idea what goes wrong?

Interesstingly the error does not occur for any directory. I'm using a current CVS checkout of the duplicity sources, python version 2.3.4, librsync 0.9.6

Best regards,

------------------------------------------------------------------------ ----------------------
------------------------------------------------------------------------ ----------------------
duplicity backup of /Users/plessl/Documents/ETH
/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ path.py:649: DeprecationWarning: Non-ASCII character '\xe4' in file /Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ tarfile.py on line 13, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
  import robust, tarfile, log, selection, globals, gpg, file_naming
GnuPG passphrase:
Retype to confirm:
No signatures found, switching to full backup.
len(full_headers)=1544 BLOCKSIZE=512
Traceback (most recent call last):
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity-bin", line 366, in ?
    if __name__ == "__main__": main()
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity-bin", line 359, in main
    if not sig_chain: full_backup(col_stats)
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity-bin", line 142, in full_backup bytes_written = write_multivol("full", tarblock_iter, globals.backend) File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity-bin", line 78, in write_multivol
  File "./gpg.py", line 211, in GPGWriteFile
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ diffdir.py", line 407, in next
    result = self.process(self.input_iter.next(), size)
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ diffdir.py", line 487, in process
    data, last_block = self.get_data_block(fp, size - 512)
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ diffdir.py", line 509, in get_data_block
    if fp.close(): raise DiffDirException("Error closing file")
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ diffdir.py", line 347, in close
    self.callback(self.sig_gen.getsig(), *self.extra_args)
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ diffdir.py", line 298, in callback
    sigTarFile.addfile(ti, cStringIO.StringIO(sig_string))
File "/Users/plessl/Documents/Sources/duplicity_co/duplicity/duplicity/ tarfile.py", line 761, in addfile
    assert len(full_headers) % BLOCKSIZE == 0

Christian Plessl <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]