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: Ben Escoto
Subject: Re: [rdiff-backup-users] rdiff-backup 1.1.2 testing - problems
Date: Sun, 13 Nov 2005 10:54:44 -0600

>>>>> Kevin Horton <address@hidden>
>>>>> wrote the following on Sun, 13 Nov 2005 08:39:19 -0500
> 
> 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).
>
> Writing mirror_metadata diff
...
> TypeError: Non-hexadecimal digit found

This is another error reading the metadata file.  In the
rdiff-backup-data directory there should be two mirror_metadata
snapshots, and some diffs.  One of the diffs should be only half
written, but the two snapshots should be intact.  Do they validate
correctly with gzip -t and look normal at the end if you just view
them?  If so, try:

zcat mirror_metadata.<time>.snapshot.gz | grep ResourceFork

to see the resource fork lines.  Anything weird there?  All the lines
should look like one of these two:

ResourceFork None
ResourceFork <hex data>

If there are too many lines to look through manually easily, you could
use this logging patch, so you can see what data it's having a problem
with.

--- metadata.py 2005-11-05 21:24:33.000000000 -0600
+++ metadata.py.new     2005-11-13 10:52:18.000000000 -0600
@@ -166,7 +166,9 @@
                elif field == "Size": data_dict['size'] = long(data)
                elif field == "ResourceFork":
                        if data == "None": data_dict['resourcefork'] = ""
-                       else: data_dict['resourcefork'] = 
binascii.unhexlify(data)
+                       else:
+                               log.Log("Resource fork data: %s" % (data,), 5)
+                               data_dict['resourcefork'] = 
binascii.unhexlify(data)
                elif field == "CarbonFile":
                        if data == "None": data_dict['carbonfile'] = None
                        else: data_dict['carbonfile'] = string2carbonfile(data)


-- 
Ben Escoto

Attachment: pgp78rmwDEZFJ.pgp
Description: PGP signature


reply via email to

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