[Box Backup] Box Backup - corrupted store

Ben Summers boxbackup@fluffy.co.uk
Mon, 4 Jul 2005 21:12:12 +0100


On 30 Jun 2005, at 00:49, Simon Rerucha wrote:

>>
>> On 8 Jun 2005, at 11:06, Simon Rerucha wrote:
>>
>>
>>>>> I've bbstoredserver run
>>>>> on NetBSD (2.0, stable), the bbackupd clients on Linux (Suse,
>>>>> various
>>>>>
>>>>>
>>> versions).  Server is run with userland RAID disabled.
>>>
>>>
>>>>> Because of some misunderstandings, the power supply of the server
>>>>> was
>>>>>
>>>>>
>>> interupted few times. So I've equipped it with UPS, I have done
>>> filesystem
>>>
>>>
>>>>> checks and 'bbstoreaccounts check $acc fix' for all accounts,
>>>>> but: Now,
>>>>>
>>>>>
>>> when I want to restore some backup loations, bbackupquery
>>>
>>>
>>>>> starts to
>>>>> download files from server, but after a while it writes:
>>>>> Exception: Compress TransformFailed (6/4)
>>>>> and terminates, without any trace in either server or client log.
>>>>> If I
>>>>>
>>>>>
>>> try againg, it terminates at same point.
>>>
>>>
>>>>> If I run
>>>>> /usr/local/bin/bbackupquery "compare -aq" quit
>>>>> it doesn't write any errors.
>>>>> Please, can you help me a bit and tell me how to solve this
>>>>> problem ?
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> What's the problem.
>>>>>
>>>>>
>>>>
>>>> It sounds like a backup store file has been corrupted. The server
>>>> can't
>>>>
>>>>
>>> tell this because the file is encrypted.
>>>
>>>
>>>>
>>>> We need to work out which file it is, then delete it, fix the
>>>> store, and
>>>>
>>>>
>>> try again. Can you run bbackupquery as before, but log to a file?  
>>> (-l
>>> <file> switch). Then send me the last few lines, and I should be
>>> able to
>>> tell you the file to delete.
>>>
>>>
>>>>
>>>>
>>>>
>>>
>>> Here is it ...
>>>
>>> ...skipped ...
>>> Receive Success(0x9d3)
>>> Receiving stream, size 58038
>>>
>>
>> OK, so the last file is 0x9d3, and after than the client terminates
>> (the first ID in the GetFile request is the directory ID, the second
>> the file ID). Therefore it must be this file which is corrupted  
>> somehow.
>>
>> To find the corresponding file on the server, write down the ID in
>> hex and split it into groups of two characters starting from the
>> right hand side. Add a leading zero if necessary. So for example, if
>> the ID was ab12345ef, write
>>
>>    0a b1 23 45 ef
>>
>> Ignore the right-most pair for now, and write down the others in
>> reverse order separated by /'s. This gives you the directory it's in.
>> Then for the final leafname, append 'o' and the right-most pair. So
>> we get
>>
>>    45/23/b1/0a/oef
>>
>> for our example ID.
>>
>> See lib/backupstore/StoreStructure.cpp for the algorithm. It's done
>> this way to avoid creating directories with thousands of entries and
>> massive directory trees where most directories only have one or two
>> entries. The "obvious" methods all are rather inefficient.
>>
>> The file you're interested in is ID 0x9d3, so you want to try
>> deleting (or moving away)
>>
>>    09/od3
>>
>> and running bbackupstore check <X> fix to correct the problems this
>> will cause on the server. And then post again to say what happened.
>>
>> Ben
>>
>>
>>
> Hi,
> I have done this, it helped, but this error is occuring again and  
> again :(
>
> I have configured separated machine to download the backups of all  
> clients
> from the server ... might it be the cause of the problems ? Even if  
> I try
> to  recreate the account, I've got same error again ... What am I  
> doing
> wrong ?

So you're creating a new account, uploading data, and then trying to  
restore from it? And this goes wrong consistently?

What platform are you using? (server and client) Is there anything  
unusual about the files you're backing up?

Ben