[Box Backup] Store corruption not detected or fixed by bbstoreaccounts

Chris Wilson boxbackup@boxbackup.org
Thu, 22 Jan 2009 08:41:04 +0000 (GMT)


Hi Alex,

On Wed, 21 Jan 2009, Alex Harper wrote:

> This is then followed by a run of other exceptions for each remaining 
> file in the store. I believe these can be safely ignored as they appear 
> to be a cascade triggered by having the protocol out-of-sync past the 
> error.
>
> I recognize that the store may not be recoverable at this point, 
> however, before I blow it away, is there any additional data I should 
> capture to track down the bug?

Yes, please keep the file and a log of what happens when you download it. 
Can you safely leave it on the store for now?

> - The account was checked with bbstoreaccounts prior to upgrade and 
> passes checks now as well.

This problem cannot be detected by the server. It can't decrypt the data 
so it doesn't try.

> - No indication of disk corruption on the server.

Could be a single bit error caused by a neutrino, bad RAM, etc.

> - I believe the corruption is unrelated to the upgrade, I mention it 
> only for completeness. The affected file was backed up long ago (9/2008) 
> and has not changed.

But you regularly run compare -a and it didn't pick up this error before? 
Do you back up your boxbackup stores somehow? Do you have an older stored 
version of this file to compare against, e.g. in a store backup?

> - Both versions of Box were patched with my diff file IO patch (ticket 
> 45). I recognize this may be the problem, but I'm not sure how to unwind 
> the store and confirm that the problem is actually a bad diff chain.

Let's have a look at the file. Is it big? Can you send it to me? To be 
honest it sounds like a crypto error, not a diff error. These happen at 
different layers, so I think the diff patch could only cause a crypto 
error by corrupting memory.

> - Nothing is logged on the server (I have enabled extended logging).

It wouldn't be, the server can't decrypt it.

Cheers, Chris.
-- 
_____ __     _
\  __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Ruby/Perl/SQL Developer |
\__/_/_/_//_/___/ | We are GNU : free your mind & your software |