bugrdiff-backup - Bugs: bug #25368, rdiff-backup

 
 

bug #25368: rdiff-backup

Submitted by:  None
Submitted on:  Tue 20 Jan 2009 10:15:13 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: None
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Wed 21 Jan 2009 01:22:11 AM UTC, comment #8:

Can we please move this to email? Thank you.

Andrew Ferguson <owsla>
Project Administrator
Wed 21 Jan 2009 01:14:41 AM UTC, comment #7:

rdiff-backup --restore-as-of ... /backup/rdiff-backup-source/usr/src /some/destination

worked, sorta.

It gets this far:

Processing changed file linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config
Regular copying ('linux-2.6.25.16-0.1-obj', 'x86_64', 'default', 'makedumpfile.config') to / /some/destination/linux-2.6.25.16-0.1-obj/x86_64/default/rdiff-backup.tmp.30054
Hash 616f510d45523784e49d7815ccbf478ba7311238 of linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config verified

and then loops forever. No logging, but the same block of syscalls as before.

Anonymous
Wed 21 Jan 2009 01:11:13 AM UTC, comment #6:

Also, exclude '**' matches before the include...

Andrew Ferguson <owsla>
Project Administrator
Wed 21 Jan 2009 01:10:50 AM UTC, comment #5:

Reordering the --include and --exclude raises an assertion error:

--include='*/usr/src/linux' --exclude='*'

( ditto --include='*/usr/src/linux' --exclude='**' )

using:

--exclude='' --include='/usr/src/linux' --exclude='*'

does not crash, but does not work either.

Anonymous
Wed 21 Jan 2009 01:09:41 AM UTC, comment #4:

Why don't you try:

rdiff-backup --restore-as-of ... /backup/rdiff-backup-source/usr/src/linux /some/destination

Please email me at -unavailable- ... there could certainly be a bug here with the infinite loop, but I'd rather keep that separate from any support requests. Thanks.

Andrew Ferguson <owsla>
Project Administrator
Wed 21 Jan 2009 01:07:01 AM UTC, comment #3:

Grr. I can't restore just the /usr/src/linux* ?

rdiff-backup --restore-as-of 2008-10-14T04:04:04-05:00 -v6 --force --exclude='*' --include='*/usr/src/linux' /backups/rdiff-backup-source/ /some/destination

...

Command-line include glob: **/usr/src/linux
only specifies that files be included. Because the default is to
include all files, the expression is redundant. Exiting because this
probably isn't what you meant.

Anonymous
Wed 21 Jan 2009 12:47:36 AM UTC, comment #2:

Yes, it was looping on that block of system calls exactly. Thousands of times (it had been looping for 10 minutes by the time I caught it).

Also, 1.2.5 does not help.

In this particular case, I am trying to restore the oldest snapshot.

The /usr/src/* files no longer exist.

/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/

also does not exist.

host:/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj # find . -ls
3328624 4 drwx------ 3 root root 4096 Dec 5 08:46 .
3328627 0 -rwxr-xr-x 1 root root 0 Oct 17 09:29 ./x86_64.2008-11-03T04:04:05-06:00.dir
3328625 4 drwx------ 3 root root 4096 Dec 5 08:46 ./x86_64
3779185 4 drwx------ 2 root root 4096 Dec 5 08:46 ./x86_64/default
3779186 4 -rw-r--r-- 1 root root 631 Aug 22 09:17 ./x86_64/default/makedumpfile.config.2008-11-03T04:04:05-06:00.snapshot.gz
3779187 128 -rw-r--r-- 1 root root 126388 Aug 22 09:17 ./x86_64/default/Module.symvers.2008-11-03T04:04:05-06:00.snapshot.gz
3328626 0 -rwxr-xr-x 1 root root 0 Oct 17 09:29 ./x86_64/default.2008-11-03T04:04:05-06:00.dir
host:/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj #

Anonymous
Wed 21 Jan 2009 12:32:37 AM UTC, comment #1:

Hi, I don't see how this is a loop. Was it executing that block of system calls over and over ...?

What does `ls -l` report for the following directories:

/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/

/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/

/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/

/usr/src/linux-2.6.25.16-0.1-obj/x86_64/

/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/

Thanks,
Andrew

Andrew Ferguson <owsla>
Project Administrator
Tue 20 Jan 2009 10:15:13 PM UTC, original submission:

rdiff-backup --restore-as-of $SOME_TIMESTAMP --force /backups/rdiff-backup-source/ /some/destination

seems to loop forever (sometimes).

rdiff-backup stopped doing anything and strace revealed a pattern, I reduced that pattern to the following loop:

open("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", O_RDONLY|O_NONBLOCK|O_DIRECTORY|
O_CLOEXEC) = 9
fstat(9, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents64(9, /* 4 entries */, 4096) = 200
getdents64(9, /* 0 entries */, 4096) = 0
close(9) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers.2008-11-03T04:04:0
5-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=126388, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers", 0x7ffff324a860)
= -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config.2008-11-03T04
:04:05-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=631, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config", 0x7ffff324a
860) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers", 0x7ffff324b380)
= -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers.2008-11-03T04:04:0
5-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=126388, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config", 0x7ffff324b
380) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config.2008-11-03T04
:04:05-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=631, ...}) = 0
lstat("/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", 0x7ffff324bea0) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", {st_mode=S_IFDIR|0700, st_size=
4096, ...}) = 0

I have to wait until about 30G into the restore to see this so if you want more detail just ask for it. I have done a number of other restores without issue, however, this one fails.

This is with 1.2.4 and the patch I supplied to correct Savannah bug 25255. I will be retrying with 1.2.5 very shortly.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by owsla (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 29 Jan 2009 06:54:59 PM UTCowslaOpen/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1