Crash during restore: "assert ropath.index == (), ropath.index"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Fix Released
|
Medium
|
Unassigned | ||
duplicity (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Duplicity version: 0.6.15
Python version: 2.7.2+
OS: Ubuntu 11.10
Target filesystem: Linux (Synology NAS, via sftp)
I'm experiencing a repeatable crash which manifests itself on restore, when the initial backup is interrupted and resumed. The data I use doesn't seem to matter. Steps to reproduce:
1. Create a directory of test data. Mine was around 125MiB
2. duplicity --no-encryption TestDir ssh://user@
3. Wait until one or two tar files have been uploaded, then Ctrl-C to kill duplicity
4. duplicity --no-encryption TestDir ssh://user@
5. duplicity --no-encryption TestDir ssh://user@
6. rm -r TestDir
7. duplicity --no-encryption ssh://user@
The crash output is as follows:
user@laptop:~$ duplicity --no-encryption ssh://user@
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Wed Feb 8 19:29:16 2012
Traceback (most recent call last):
File "/usr/bin/
with_
File "/usr/bin/
fn()
File "/usr/bin/
restore(
File "/usr/bin/
restore_
File "/usr/lib/
ITR( ropath.index, ropath )
File "/usr/lib/
self.
File "/usr/lib/
branch.
File "/usr/lib/
return function(*args)
File "/usr/lib/
assert ropath.index == (), ropath.index
AssertionError: somefile.dat
I can provide more information, log output, test data (although the data doesn't seem to matter), or test with other versions of duplicity if requested.
Related branches
- duplicity-team: Pending requested
-
Diff: 364 lines (+131/-70)4 files modifiedbin/duplicity (+2/-1)
duplicity/diffdir.py (+4/-2)
duplicity/dup_temp.py (+5/-2)
testing/tests/restarttest.py (+120/-65)
Changed in duplicity: | |
status: | Confirmed → In Progress |
Changed in duplicity: | |
status: | In Progress → Confirmed |
milestone: | none → 0.6.20 |
Changed in duplicity: | |
status: | Confirmed → Fix Committed |
Changed in duplicity: | |
importance: | Undecided → Medium |
assignee: | Michael Terry (mterry) → nobody |
Changed in duplicity: | |
status: | Fix Committed → Fix Released |
I can reproduce using your steps! Thanks so much for the clear sequence. Looking into this.