rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rdiff-backup-users] rdiff-backup 1.1.2 testing - problems


From: Kevin Horton
Subject: Re: [rdiff-backup-users] rdiff-backup 1.1.2 testing - problems
Date: Sun, 13 Nov 2005 08:39:19 -0500

On 12 Nov 2005, at 24:14, Ben Escoto wrote:

Kevin Horton <address@hidden>
wrote the following on Sun, 6 Nov 2005 19:24:24 -0500

Rdiff-backup 1.1.2 worked great to make a new backup, but I can't get
it to add an increment.  I've tried twice, and both times it failed.
I watched it after the first failure, and it do revert the backup.

The first failure ended with:
   File "/sw/lib/python2.4/gzip.py", line 309, in _read_eof
     raise IOError, "CRC check failed"
IOError: CRC check failed

Hmm I have no idea about this.  It seems rdiff-backup is writing
corrupt mirror_metadata files even when the session succeeds.
(Earlier I thought they might have gotten corrupted in some crash
somehow, but it seems to be an unrelated problem.)

Offhand the only thing I can think of is a bug in python's gzip
library.  Can you try making a very simple rdiff-backup repository on
any relevant computers?  Try something like:

mkdir input
cat /dev/null > input/file
rdiff-backup input output
touch input/file
rdiff-backup input output

If that works, try a slightly bigger volume, and see if you notice a
pattern.  If that doesn't work, I could write a very simple gzip
python test, and we would know it's not rdiff-backup's problem.

AssertionError: File /Volumes/Ext_BU/Users/kwh/ rdiffbu_112_carbonfile/
rdiff-backup-data/mirror_metadata.2005-11-06T09:56:15-05:00.diff.gz
already exists!

The new hash related regress code is forgetting to delete a file,
This patch should fix that, but won't fix the main problem:

http://savannah.nongnu.org/cgi-bin/viewcvs/rdiff-backup/rdiff- backup/rdiff_backup/regress.py.diff?r2=1.16&r1=1.15&diff_format=u

I added the above patch, then did some tests, starting with a small directory to backup, and adding a bunch of files after each successful backup. I've finally gotten a failure, and it looks different than any I remember from before, so I'm reporting it now (TypeError: Non-hexadecimal digit found).

The failure happened when backing up about 4.1 GB of stuff. Before that, I had gradually worked up from a single file to about 100 MB. I'll repeat using smaller increments between 100 MB and 4GB to see if there is a pattern with size. I'll save the old input and output directories, in case there is any info you need from them.

====================================

I was using the following command line:
sudo rdiff-backup -v7 --carbonfile --print-statistics --exclude- globbing-filelist /rdiff-backup_exclude_list /input /Volumes/Ext_BU/ output

The failure looked like:

Incrementing mirror file /Volumes/Ext_BU/output/Documents/Documents/ washing machine/PA080001.jpg Touching /Volumes/Ext_BU/output/rdiff-backup-data/increments/ Documents/Documents/washing machine/PA080001.jpg. 2005-11-13T07:24:36-05:00.missing Renaming /Volumes/Ext_BU/output/Documents/Documents/washing machine/ rdiff-backup.tmp.29107 to /Volumes/Ext_BU/output/Documents/Documents/ washing machine/PA080001.jpg
Processing changed file Documents/Documents/washing machine/PA080004.jpg
Regular copying ('Documents', 'Documents', 'washing machine', 'PA080004.jpg') to /Volumes/Ext_BU/output/Documents/Documents/washing machine/rdiff-backup.tmp.29108 Writing file object to /Volumes/Ext_BU/output/Documents/Documents/ washing machine/rdiff-backup.tmp.29108 Copying attributes from ('Documents', 'Documents', 'washing machine', 'PA080004.jpg') to /Volumes/Ext_BU/output/Documents/Documents/washing machine/rdiff-backup.tmp.29108 Writing resource fork to ('Documents', 'Documents', 'washing machine', 'rdiff-backup.tmp.29108') Writing carbon data to ('Documents', 'Documents', 'washing machine', 'rdiff-backup.tmp.29108') Setting time of /Volumes/Ext_BU/output/Documents/Documents/washing machine/rdiff-backup.tmp.29108 to 1065905658 Incrementing mirror file /Volumes/Ext_BU/output/Documents/Documents/ washing machine/PA080004.jpg Touching /Volumes/Ext_BU/output/rdiff-backup-data/increments/ Documents/Documents/washing machine/PA080004.jpg. 2005-11-13T07:24:36-05:00.missing Renaming /Volumes/Ext_BU/output/Documents/Documents/washing machine/ rdiff-backup.tmp.29108 to /Volumes/Ext_BU/output/Documents/Documents/ washing machine/PA080004.jpg Copying attributes from ('Documents', 'Documents', 'washing machine') to /Volumes/Ext_BU/output/Documents/Documents/washing machine Setting time of /Volumes/Ext_BU/output/Documents/Documents/washing machine to 1065905658 Copying attributes from ('Documents', 'Documents') to /Volumes/Ext_BU/ output/Documents/Documents
Setting time of /Volumes/Ext_BU/output/Documents/Documents to 1131886341
Copying attributes from ('Documents',) to /Volumes/Ext_BU/output/ Documents
Setting time of /Volumes/Ext_BU/output/Documents to 1131886108
Copying attributes from () to /Volumes/Ext_BU/output
Setting time of /Volumes/Ext_BU/output to 1131886041
Writing mirror_metadata diff
Traceback (most recent call last):
  File "/sw/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
File "/sw/lib/python2.4/site-packages/rdiff_backup/Main.py", line 303, in Main
    take_action(rps)
File "/sw/lib/python2.4/site-packages/rdiff_backup/Main.py", line 272, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.4/site-packages/rdiff_backup/Main.py", line 323, in Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
File "/sw/lib/python2.4/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/sw/lib/python2.4/site-packages/rdiff_backup/backup.py", line 230, in patch_and_increment
    cls.CCPP.close()
File "/sw/lib/python2.4/site-packages/rdiff_backup/backup.py", line 446, in close
    metadata.ManagerObj.ConvertMetaToDiff()
File "/sw/lib/python2.4/site-packages/rdiff_backup/metadata.py", line 593, in ConvertMetaToDiff
    for diff_rorp in self.get_diffiter(new_iter, old_iter):
File "/sw/lib/python2.4/site-packages/rdiff_backup/metadata.py", line 555, in get_diffiter for new_rorp, old_rorp in rorpiter.Collate2Iters(new_iter, old_iter): File "/sw/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 92, in Collate2Iters
    try: relem1 = riter1.next()
File "/sw/lib/python2.4/site-packages/rdiff_backup/metadata.py", line 261, in iterate
    try: yield self.record_to_object(record)
File "/sw/lib/python2.4/site-packages/rdiff_backup/metadata.py", line 169, in Record2RORP
    else: data_dict['resourcefork'] = binascii.unhexlify(data)
TypeError: Non-hexadecimal digit found
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method GzipFile.__del__ of <gzip open file '/Volumes/Ext_BU/ output/rdiff-backup-data/file_statistics. 2005-11-13T08:03:13-05:00.data.gz', mode 'wb' at 0x79fad0 0x1205080>> ignored Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method GzipFile.__del__ of <gzip open file '/Volumes/Ext_BU/ output/rdiff-backup-data/error_log. 2005-11-13T08:03:13-05:00.data.gz', mode 'wb' at 0x3892f0 0x7b17b0>> ignored


Kevin Horton
Ottawa, Canada






reply via email to

[Prev in Thread] Current Thread [Next in Thread]