Steps to reproduce:
- Configure Backups (aka Deja Dup Backup Tool)
- Wait for scheduled backup to run
What should happen:
- Notification that backup is complete
- Restoring the backup succeeds
What happens instead:
- Notification that an error occurred
- Error window pops up (message below)
- Restoring the backup succeeds (despite the error)
Notes:
- This issue is intermittent (more frequent failures than successes)
- The error message also pops up after scheduled restore test
- The error message does not appear after invoking a backup manually
Error message:
Traceback (innermost last): File "/usr/bin/duplicity", line 1566, in <module> with_tempdir(main) File "/usr/bin/duplicity", line 1552, in with_tempdir fn() File "/usr/bin/duplicity", line 1401, in main do_backup(action) File "/usr/bin/duplicity", line 1480, in do_backup restore(col_stats) File "/usr/bin/duplicity", line 736, in restore restore_get_patched_rop_iter(col_stats)): File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 558, in Write_ROPaths for ropath in rop_iter: File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 521, in integrate_patch_iters for patch_seq in collated: File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 389, in yield_tuples setrorps(overflow, elems) File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 378, in setrorps elems[i] = iter_list[i].next() File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 107, in filter_path_iter for path in path_iter: File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 121, in difftar2path_iter tarinfo_list = [tar_iter.next()] File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 339, in next self.set_tarfile() File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 333, in set_tarfile self.current_fp = self.fileobj_iter.next() File "/usr/bin/duplicity", line 773, in get_fileobj_iter manifest.volume_info_dict[vol_num]) File "/usr/bin/duplicity", line 816, in restore_get_enc_fileobj fileobj = tdp.filtered_open_with_delete("rb") File "/usr/lib/python2.7/dist-packages/duplicity/dup_temp.py", line 120, in filtered_open_with_delete fh = FileobjHooked(path.DupPath.filtered_open(self, mode)) File "/usr/lib/python2.7/dist-packages/duplicity/path.py", line 779, in filtered_open return gpg.GPGFile(False, self, gpg_profile) File "/usr/lib/python2.7/dist-packages/duplicity/gpg.py", line 224, in __init__ 'logger': self.logger_fp}) File "/usr/lib/python2.7/dist-packages/duplicity/gpginterface.py", line 374, in run create_fhs, attach_fhs) File "/usr/lib/python2.7/dist-packages/duplicity/gpginterface.py", line 420, in _attach_fork_exec process.thread.start() File "/usr/lib/python2.7/threading.py", line 736, in start _start_new_thread(self.__bootstrap, ()) error: can't start new thread