Package: duplicity Version: 0.4.3-2 Severity: grave Justification: renders package unusable
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is quite odd. I've been using the current version of duplicity to produce incremental backups since last week. Today is monday so we start a fresh backup, which fails. It seems that invoking duplicity to create any kind of full backup also fails with the following output: $ duplicity --full /home/sam/bin file:///tmp/foob Traceback (most recent call last): File "/usr/bin/duplicity", line 388, in ? if __name__ == "__main__": main() File "/usr/bin/duplicity", line 377, in main if action == "full": full_backup(col_stats) File "/usr/bin/duplicity", line 146, in full_backup bytes_written = write_multivol("full", tarblock_iter, globals.backend) File "/usr/bin/duplicity", line 82, in write_multivol globals.gpg_profile,globals.volsize) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 198, in GPGWriteFile try: data = block_iter.next(bytes_to_go).data File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 407, in next result = self.process(self.input_iter.next(), size) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 284, in get_delta_iter_w_sig sigTarFile.close() File "/usr/lib/python2.4/site-packages/duplicity/tarfile.py", line 508, in close self.fileobj.write("\0" * (RECORDSIZE - remainder)) File "/usr/lib/python2.4/site-packages/duplicity/dup_temp.py", line 120, in write return self.fileobj.write(buf) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 117, in write def write(self, buf): return self.gpg_input.write(buf) IOError: [Errno 32] Broken pipe close failed: [Errno 32] Broken pipe And on my desktop system: $ duplicity --full bin file:///tmp/foo Traceback (most recent call last): File "/usr/bin/duplicity", line 388, in ? if __name__ == "__main__": main() File "/usr/bin/duplicity", line 377, in main if action == "full": full_backup(col_stats) File "/usr/bin/duplicity", line 146, in full_backup bytes_written = write_multivol("full", tarblock_iter, globals.backend) File "/usr/bin/duplicity", line 82, in write_multivol globals.gpg_profile,globals.volsize) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 198, in GPGWriteFile try: data = block_iter.next(bytes_to_go).data File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 407, in next result = self.process(self.input_iter.next(), size) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 487, in process data, last_block = self.get_data_block(fp, size - 512) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 509, in get_data_block if fp.close(): raise DiffDirException("Error closing file") File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 347, in close self.callback(self.sig_gen.getsig(), *self.extra_args) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 298, in callback sigTarFile.addfile(ti, cStringIO.StringIO(sig_string)) File "/usr/lib/python2.4/site-packages/duplicity/tarfile.py", line 768, in addfile copyfileobj(fileobj, self.fileobj, tarinfo.size) File "/usr/lib/python2.4/site-packages/duplicity/tarfile.py", line 198, in copyfileobj dst.write(buf) File "/usr/lib/python2.4/site-packages/duplicity/dup_temp.py", line 120, in write return self.fileobj.write(buf) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 117, in write def write(self, buf): return self.gpg_input.write(buf) IOError: [Errno 32] Broken pipe close failed: [Errno 32] Broken pipe close failed: [Errno 32] Broken pipe strace reveals some more information. On the first system: execve("duplicity", ["duplicity", "--full", "bin", "file:///tmp/foob"], []) = -1 ENOENT (No such file or directory) execve("/bin/duplicity", ["duplicity", "--full", "bin", "file:///tmp/foob"], []) = -1 ENOENT (No such file or directory) execve("/usr/bin/duplicity", ["duplicity", "--full", "bin", "file:///tmp/foob"], []) = 0 clone(Process 13213 attached child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7dbb928) = 13213 [pid 13212] clone(Process 13214 attached child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7dbb928) = 13214 [pid 13212] waitpid(13214, Process 13212 suspended <unfinished ...> [pid 13213] execve("gpg", ["gpg", "--logger-fd", "3", "--passphrase-fd", "7", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = -1 ENOENT (No such file or directory) [pid 13213] execve("/bin/gpg", ["gpg", "--logger-fd", "3", "--passphrase-fd", "7", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = -1 ENOENT (No such file or directory) [pid 13213] execve("/usr/bin/gpg", ["gpg", "--logger-fd", "3", "--passphrase-fd", "7", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = 0 [pid 13213] exit_group(2) = ? Process 13213 detached [pid 13214] execve("gpg", ["gpg", "--logger-fd", "4", "--passphrase-fd", "9", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = -1 ENOENT (No such file or directory) [pid 13214] execve("/bin/gpg", ["gpg", "--logger-fd", "4", "--passphrase-fd", "9", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = -1 ENOENT (No such file or directory) [pid 13214] execve("/usr/bin/gpg", ["gpg", "--logger-fd", "4", "--passphrase-fd", "9", "--batch", "--no-tty", "--no-secmem-warning", "--force-mdc", "--symmetric"], []) = 0 [pid 13214] exit_group(2) = ? Process 13212 resumed Process 13214 detached <... waitpid resumed> 0xbfc22d58, 0) = ? ERESTARTSYS (To be restarted) - --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(13214, [{WIFEXITED(s) && WEXITSTATUS(s) == 2}], 0) = 13214 - --- SIGCHLD (Child exited) @ 0 (0) --- Traceback (most recent call last): File "/usr/bin/duplicity", line 388, in ? if __name__ == "__main__": main() File "/usr/bin/duplicity", line 377, in main if action == "full": full_backup(col_stats) File "/usr/bin/duplicity", line 146, in full_backup bytes_written = write_multivol("full", tarblock_iter, globals.backend) File "/usr/bin/duplicity", line 82, in write_multivol globals.gpg_profile,globals.volsize) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 208, in GPGWriteFile file.close() File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 123, in close self.gpg_process.wait() File "/var/lib/python-support/python2.4/GnuPGInterface.py", line 639, in wait raise IOError, "GnuPG exited non-zero, with code %d" % (e << 8) IOError: GnuPG exited non-zero, with code 131072 - --- SIGPIPE (Broken pipe) @ 0 (0) --- close failed: [Errno 32] Broken pipe exit_group(1) = ? Process 13212 detached And again, on my desktop: execve("/usr/bin/duplicity", ["duplicity", "--full", "bin", "file:///tmp/foo"], []) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e236f8) = 9245 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e236f8) = 9246 - --- SIGCHLD (Child exited) @ 0 (0) --- - --- SIGPIPE (Broken pipe) @ 0 (0) --- Traceback (most recent call last): File "/usr/bin/duplicity", line 388, in ? if __name__ == "__main__": main() File "/usr/bin/duplicity", line 377, in main if action == "full": full_backup(col_stats) File "/usr/bin/duplicity", line 146, in full_backup bytes_written = write_multivol("full", tarblock_iter, globals.backend) File "/usr/bin/duplicity", line 82, in write_multivol globals.gpg_profile,globals.volsize) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 198, in GPGWriteFile try: data = block_iter.next(bytes_to_go).data File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 407, in next result = self.process(self.input_iter.next(), size) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 487, in process data, last_block = self.get_data_block(fp, size - 512) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 509, in get_data_block if fp.close(): raise DiffDirException("Error closing file") File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 347, in close self.callback(self.sig_gen.getsig(), *self.extra_args) File "/usr/lib/python2.4/site-packages/duplicity/diffdir.py", line 298, in callback sigTarFile.addfile(ti, cStringIO.StringIO(sig_string)) File "/usr/lib/python2.4/site-packages/duplicity/tarfile.py", line 768, in addfile copyfileobj(fileobj, self.fileobj, tarinfo.size) File "/usr/lib/python2.4/site-packages/duplicity/tarfile.py", line 198, in copyfileobj dst.write(buf) File "/usr/lib/python2.4/site-packages/duplicity/dup_temp.py", line 120, in write return self.fileobj.write(buf) File "/usr/lib/python2.4/site-packages/duplicity/gpg.py", line 117, in write def write(self, buf): return self.gpg_input.write(buf) IOError: [Errno 32] Broken pipe - --- SIGPIPE (Broken pipe) @ 0 (0) --- close failed: [Errno 32] Broken pipe exit_group(1) = ? Process 9244 detached I'm not sure why the stack trace is different on the two machines. The desktop is running testing with a few packages pulled from unstable, the server is running etch with duplicity backported from unstable. Both systems have the same version of gnupg, python-gnupginterface and python-pexpect. Severity serious because I can't run duplicity at all now, on two different machines. - -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (530, 'testing'), (520, 'unstable'), (510, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.22-fixdso (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages duplicity depends on: ii gnupg 1.4.6-2 GNU privacy guard - a free PGP rep ii libc6 2.6.1-1+b1 GNU C Library: Shared libraries ii librsync1 0.9.7-1 Library which implements the rsync ii python 2.4.4-6 An interactive high-level object-o ii python-central 0.5.15 register and build utility for Pyt ii python-gnupginterface 0.3.2-9 Python interface to GnuPG (GPG) ii python-pexpect 2.1-1 Python module for automating inter duplicity recommends no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD4DBQFG93OEshl/216gEHgRAjF8AKCvuyPRWqqmxHr1KAwndqcF6ltL1QCY3112 XzJzwhMh8fvGshFdaSve4A== =ZFjA -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]