Comment 7 for bug 1612554

Revision history for this message
Peter Van Rompaey (blacky-z) wrote :

Cried victory too soon, I'm afraid.

I have:
- compiled python 2.7.12 with the zlib patch
- created a virtualenv with that version
- installed duplicity in the virtualenv, along with lockfile and boto

The zlib test now succeeds:
(duplicity-venv) root@eniac:~# python -c "import zlib;zlib.crc32('a'*(1<<31 - 1))"
(duplicity-venv) root@eniac:~# python -c "import zlib;zlib.crc32('a'*(1<<31))"
(duplicity-venv) root@eniac:~#

But duplicity still throws the OverFlowError during Incremental backup, and it wasn't anywhere near a large file. The modules mentioned in the Traceback are all in the duplicity dir, btw.

---

DEBUG 1
. Selection: result: None from function: Command-line exclude glob: /var/lib/elasticsearch

DEBUG 1
. Selection: + including file

DEBUG 1
. Selecting /var/log/lastlog

DEBUG 1
. Comparing var/log/lastlog and var/log/lastlog

DEBUG 1
. Getting delta of (var/log/lastlog reg) and (var/log/lastlog reg)

DEBUG 1
. Releasing lockfile /root/.cache/duplicity/d485e8d753a7b2ad7aafce096f9fbb92/lockfile.lock

DEBUG 1
. Removing still remembered temporary file /tmp/duplicity-WNi8WI-tempdir/mktemp-yuJbZJ-3

DEBUG 1
. Removing still remembered temporary file /tmp/duplicity-WNi8WI-tempdir/mkstemp-hiRlXx-1

ERROR 30 OverflowError
. Traceback (most recent call last):
. File "/opt/duplicity-venv/bin/duplicity", line 1546, in <module>
. with_tempdir(main)
. File "/opt/duplicity-venv/bin/duplicity", line 1540, in with_tempdir
. fn()
. File "/opt/duplicity-venv/bin/duplicity", line 1391, in main
. do_backup(action)
. File "/opt/duplicity-venv/bin/duplicity", line 1522, in do_backup
. incremental_backup(sig_chain)
. File "/opt/duplicity-venv/bin/duplicity", line 671, in incremental_backup
. globals.backend)
. File "/opt/duplicity-venv/bin/duplicity", line 434, in write_multivol
. at_end = gpg.GzipWriteFile(tarblock_iter, tdp.name, globals.volsize)
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/gpg.py", line 401, in GzipWriteFile
. new_block = block_iter.next()
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/diffdir.py", line 523, in next
. result = self.process(self.input_iter.next())
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/diffdir.py", line 218, in get_delta_iter
. (new_path, sig_path, sigTarFile))
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/robust.py", line 38, in check_common_error
. return function(*args)
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/diffdir.py", line 139, in get_delta_path
. delta_path.setfileobj(librsync.DeltaFile(old_sigfp, newfp))
. File "/opt/duplicity-venv/lib/python2.7/site-packages/duplicity/librsync.py", line 154, in __init__
. self.maker = _librsync.new_deltamaker(sig_string)
. OverflowError: size does not fit in an int