[Bug 1266763] [NEW] Race condition between status and backup

Launchpad Bug Tracker 1266763 at bugs.launchpad.net
Fri Jan 24 13:43:51 UTC 2014


You have been subscribed to a public bug by Louis Bouchard (louis-bouchard):

SRU justification : Race condition exist when two instances of duplicity run in the same
cache directory (.cache/duplicity)

Impact : Potential corruption of the local cache

Fix : Add a lockfile in the local cache & prevent execution of a second instance in the
case of the presence of the lockfile

Test Case :
1) Run one instance of duplicity :
 $ sudo mkdir /tmp/backup
 $ sudo duplicity --exclude=/proc --exclude=/sys --exclude=/tmp / file:///tmp/backup

While this command is running execute the following in a separate console :
 $ sudo duplicity collection-status file:///tmp/backup

With the new locking mechanism you will see the following :
$ sudo duplicity collection-status file:///tmp/backup
Another instance is already running with this archive directory
If you are sure that this is the  only instance running you may delete
the following lockfile and run the command again :
   /home/ubuntu/.cache/duplicity/3fe07cc0f71075f95f411fb55ec60120/lockfile.lock

Regression : In the case of spurrious interruption of duplicity, the lockfile
will remain in .cache/duplicity which can prevent future use of duplicity. The cache
directory will have to be cleaned as outlined in the error message

Original description of the problem :

When runnining "duply X status" while running "duply X backup" (sorry, I
don't know which duplicity commands are created by duply) due to a race-
condition the code of 'sync_archive' might happend to append newly
created meta-data files to 'local_spurious' and subsequently delete
them. This delete seems to have been the reason that triggered bug
1216921.

The race condition is that the backup command constantly creates meta-
data files while the status command queries the list of local and remote
files independently over a larger time span. This means that a local
file might already been remote but the status command did not see it a
few seconds ago.

** Affects: duplicity
     Importance: Medium
         Status: Fix Released

** Affects: duplicity (Ubuntu)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress

** Affects: duplicity (Ubuntu Precise)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress

** Affects: duplicity (Ubuntu Quantal)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress

** Affects: duplicity (Ubuntu Raring)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress

** Affects: duplicity (Ubuntu Saucy)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress

** Affects: duplicity (Ubuntu Trusty)
     Importance: Medium
     Assignee: Louis Bouchard (louis-bouchard)
         Status: In Progress


** Tags: patch
-- 
Race condition between status and backup
https://bugs.launchpad.net/bugs/1266763
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list